一次点击的切换按钮启动全屏窗口,如果再次点击则再次返回正常状态

时间:2012-12-21 10:23:24

标签: python qt pyqt pyqt4

我在pyqt中的代码很简单:

QtCore.QObject.connect(self.pushButton, QtCore.SIGNAL("clicked()"), self.add_entry)

def add_entry(self):

            if QtCore.Qt.WindowFullScreen:
               MainWindow.showNormal()
            else :
                   MainWindow.showMaximized()

点击时切换按钮可以显示全屏显示,但再次点击则不会恢复到正常屏幕模式。

1 个答案:

答案 0 :(得分:2)

你把东西混在一起。 QtCore.Qt.WindowFullScreen是常量值 - 因此您的条件始终为true。并在第二个--showMaximized窗口方法切换窗口对象为Qt.WindowMaximized状态。

以下是您应该如何更改它:

class Example(QtGui.QMainWindow):

    def __init__(self):
        super(Example, self).__init__()
        self.initUI()

    def initUI(self):      

        cb = QtGui.QPushButton('Switch', self)
        cb.move(20, 20)
        cb.clicked.connect(self.add_entry)
        self.setGeometry(300, 300, 250, 150)
        self.show()

    def add_entry(self):
        if self.windowState() & QtCore.Qt.WindowFullScreen:
            self.showNormal()
        else:
            self.showFullScreen()