我想编写一个 PyQt 应用程序,它会在一个单独的线程中生成它的窗口,这样我就可以在它运行时在交互式 shell 中弄乱它的数据结构。不幸的是,尝试在 shell 中执行 exit() 并不会终止应用程序,可能是因为 Qt 线程仍在运行。在控制台中按下 CTR+D 或键入 exit() 或键入 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()