PyQT示例没有第二次运行

时间:2015-11-04 16:32:39

标签: python pyqt4 spyder

我正在尝试在Python 2.7(anaconda,使用Spyder的iPyhon)中编写一个简单的GUI。从一个显示带退出按钮的窗口的简单示例开始。 example is from here.

这是我在Spyder IDE中运行的代码:

    #!/usr/bin/python
# -*- coding: utf-8 -*-

"""
ZetCode PyQt4 tutorial 

This program creates a quit
button. When we press the button,
the application terminates. 

author: Jan Bodnar
website: zetcode.com 
last edited: October 2011
"""

import sys
from PyQt4 import QtGui, QtCore


class Example(QtGui.QWidget):

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

        self.initUI()

    def initUI(self):               

        qbtn = QtGui.QPushButton('Quit', self)
        qbtn.clicked.connect(QtCore.QCoreApplication.instance().quit)
        qbtn.resize(qbtn.sizeHint())
        qbtn.move(50, 50)       

        self.setGeometry(300, 300, 250, 150)
        self.setWindowTitle('Quit button')    
        self.show()

def main():

    app = QtGui.QApplication(sys.argv)
    ex = Example()
    app.exec_()


if __name__ == '__main__':
    main()

它第一次运行,但是当我再次运行它时,Python崩溃了。很难像这样开发.. :-)启动一个新的ipython控制台将允许我再次运行。 我已经将sys.exit(app.exec_())更改为app.exec_(),因为我不想关闭iPython内核,但这没什么区别。 谁知道我做错了什么?

0 个答案:

没有答案