У меня проблема с изменением размера кадра на основе нажатия одной кнопки. У меня есть пустое окно с одной кнопкой с именем pushButton
в моем файле пользовательского интерфейса. Я хотел бы, чтобы при каждом нажатии этой кнопки размеры MainWindow изменялись, однако изменение размера происходило только один раз. Оригинальные размеры 640 на 480.
Что я делаю неправильно в функции run_resize
? Спасибо!
Код выглядит следующим образом.
from PyQt5.QtCore import *
from PyQt5.QtWidgets import *
from PyQt5.QtGui import *
from PyQt5.uic import loadUiType
qtCreatorFile = 'my_gui.ui'
Ui_MainWindow, QtBaseClass = loadUiType(qtCreatorFile)
class MainWindow(QMainWindow, Ui_MainWindow):
def __init__(self):
QMainWindow.__init__(self)
Ui_MainWindow.__init__(self)
self.setupUi(self)
self.setFixedSize(self.size())
self.frame = QFrame()
self.pushButton.clicked.connect(self.run_resize)
def run_resize(self):
if self.frame.height() == 480:
self.setMinimumSize(640, 150)
self.resize(640, 150)
else:
self.setMinimumSize(640, 480)
self.resize(640, 480)
if __name__ == "__main__":
app = QApplication(sys.argv)
w = main_window()
w.show()
sys.exit(app.exec_())
frame
, и вы устанавливаете размер вашегоQMainWindow
. Попробуйте заменитьif self.frame.height() == 480:
наif self.height() == 480:
- person SyedElec   schedule 12.02.2017