別のスレッドでウィンドウを生成するPyQtアプリを作成して、実行中にインタラクティブシェルでデータ構造を混乱させることができるようにしたかったのです。残念ながら、シェル内でexit()を実行しようとしても、アプリケーションは強制終了されません。おそらくQtスレッドがまだ実行されているためです。コンソールでCTR+Dを押すか、exit()と入力するか、exitと入力した後、Pythonシェルを強制的に停止するにはどうすればよいですか?テストケースは次のとおりです。
#!/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()