0

我在 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()

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

4

1 回答 1

4

你把事情混在一起了。QtCore.Qt.WindowFullScreen 是常量值 - 因此您的条件始终为真。而在第二个 - .showMaximized 窗口方法将窗口对象切换到 Qt.WindowMaximized 状态。

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

类示例(QtGui.QMainWindow):

    def __init__(self):
        超级(例如,自我).__init__()
        self.initUI()

    定义 initUI(自我):      

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

    def add_entry(self):
        如果 self.windowState() & QtCore.Qt.WindowFullScreen:
            self.showNormal()
        别的:
            self.showFullScreen()

于 2012-12-21T11:37:19.473 回答