【发布时间】:2017-03-23 20:16:50
【问题描述】:
这是我必须在 Spyder 中执行的 PyQT 代码。第一次,我执行了它,效果很好。第二次,它说:
QWidget:必须在 QPaintDevice 之前构造一个 QApplication "
我搜索了解决方案,但对我没有任何帮助。
from PyQt4 import QtGui, QtCore
import sys
class Window(QtGui.QWidget):
def __init__(self):
QtGui.QWidget.__init__(self)
self.button = QtGui.QPushButton('Test', self)
self.button.clicked.connect(self.handleButton)
layout = QtGui.QVBoxLayout(self)
layout.addWidget(self.button)
def handleButton(self):
print ('Hello World')
if __name__ == '__main__':
app = QtGui.QApplication(sys.argv)
window = Window()
window.show()
app.exec_()
#sys.exit(app.exec_())
我什至评论了一些人提出的 sys.exit() 。有人可以帮我摆脱这个错误,因为我每隔一段时间就会重新启动内核来执行。
【问题讨论】: