在单独的线程中运行PyQt时,在交互式控制台出口处杀死GUI

时间:2013-03-17 20:36:04

标签: python multithreading pyqt

我想编写一个PyQt应用程序,它会在一个单独的线程中生成它的窗口,这样我就可以在运行时将它的数据结构弄乱到交互式shell中。不幸的是,尝试在shell中执行exit()不会杀死应用程序,可能是因为Qt线程仍在运行。一旦我在控制台中按CTR + D或键入exit()或键入退出,我如何强制Python shell死?这是测试用例:

#!/usr/bin/python -i

from PyQt4 import QtGui

class MainWindow(QtGui.QMainWindow):
    pass

def main():
    import sys

    app = QtGui.QApplication(sys.argv)
    window = MainWindow()
    window.show()
    sys.exit(app.exec_())


if __name__ == '__main__':
    import threading
    threading.Thread(None, main).start()

0 个答案:

没有答案