【发布时间】:2014-07-12 06:34:57
【问题描述】:
我目前在尝试关闭我的应用程序时遇到问题。截至目前,我的应用程序当前生成并运行在 while 循环(while True 循环)中的线程,而我的主线程在 PyQT 中初始化并运行 UI。
def main():
group_size = 8
buffer_size = 4
app = QtGui.QApplication(sys.argv)
dgui = DirectGui(group_size, buffer_size)
engine = KCluster_Engine(group_size, buffer_size)
dgui.set_engine_ref(engine)
engine.assign_interface(dgui)
thread = Thread(target = engine.start)
thread.start()
sys.exit(app.exec_())
if __name__ == '__main__':
main()
当我在 PyQT 中关闭应用程序的主窗口时,无法停止在 shell 中生成 python 脚本的命令,即使使用 ctrl-c 也是如此。
处理这种行为的最佳方法是什么?当我关闭我的应用程序时,我还希望生成的线程停止、加入和退出这个过程。我该怎么做?
【问题讨论】:
-
很可能该线程卡在某个地方。把日志放在那里看看发生了什么
-
@AbhishekBansal 我知道一个事实,它在一个真正的循环上旋转。退出应用程序后有没有办法让它停止?
-
关闭最后一个窗口时
app.exec_()是否返回?
标签: python multithreading pyqt