【发布时间】:2013-04-26 01:49:48
【问题描述】:
我刚刚开始使用 pyqt4。我按照教程(http://zetcode.com/tutorials/pyqt4/) 让我困惑的一件事是这部分:
def main():
app = QtGui.QApplication(sys.argv)
ex = GUI()
sys.exit(app.exec())
我在这里解释一下原因:
我做了一个小程序,除了第一个主窗口外,它还能打开另外四个窗口。 所以我试图复制我在主窗口中看到的内容,并为每个新窗口创建一个类,并尝试像上面那样做。目前它看起来像这样:
def main2():
#app = QtGui.QApplication(sys.argv)
ex2 = Settings()
sys.exit(app.exec())
如您所见,我已对其进行了修改。如果我不注释函数中的第一行,程序就会崩溃。我尝试不使用 sys.exit(app.exec_())-部分,但这只会使新窗口在显示后几毫秒内关闭。 但是,这样,一切都运行并正常工作。只有在命令窗口中,才会显示错误消息。我不知道如何解决这个问题,因为我无法删除最后一行,而且我不知道用什么替换 "app"。
我知道我可能从一开始就做错了新窗口,但我不知道如何以任何其他方式从原始窗口打开这些窗口。我无法让其他任何工作,至少现在可以运行和工作。所以唯一的问题是提示中的错误消息,摆脱它们会很好:)
感谢任何帮助(复杂和简单的)!
忘了说,我是这样开始上课的:
class GUI(QtGui.QMainWindow):
def __init__(self):
super(GUI, self).__init__()
self.initUI()
和
class Settings(QtGui.QWidget):
def __init__(self):
super(Settings, self).__init__()
...here goes some more...
self.initUI2()
然后我通过调用 main2() 打开设置窗口
【问题讨论】: