ฉันมีปัญหาในการปรับขนาดเฟรมตามการคลิกปุ่มเพียงปุ่มเดียว ฉันมีหน้าต่างว่างที่มีปุ่มกดเพียงปุ่มเดียวชื่อ pushButton
ในไฟล์ UI ของฉัน ฉันต้องการให้ทุกครั้งที่กดปุ่มนี้ ขนาดของ MainWindow จะเปลี่ยนไป แต่การปรับขนาดจะเกิดขึ้นเพียงครั้งเดียวเท่านั้น ขนาดดั้งเดิมคือ 640 x 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