Qt冻结循环的原因?

时间:2016-04-24 20:11:42

标签: python debugging pyqt4

我用PYQT4设计了一个gui。它有两个按钮。开始按钮之一。它启动一个start.py文件。另一个按钮执行stop.py文件,停止start.py pid。

此start.py和stop.py文件位于远程位置。我在那里用ssh和paramiko连接。

当我点击开始按钮时,gui很冷,从不回答。我只能通过关闭程序摆脱这种情况。我知道这个问题。因为start.py中有一个while循环,它永远不会结束。

当我点击开始按钮时,它等待while循环。

我想运行start.py,我不想等待循环。它必须在后台运行等。

我该怎么办?我试图用另一个.py文件触发它。我使用了子进程方法。但没有成功。还是有同样的问题。

2 个答案:

答案 0 :(得分:0)

看看PyQT theading。 如果您使用的是python3,也可以使用asyncio

答案 1 :(得分:0)

我找到了解决方案。我在线程中介绍了该函数。现在它正常工作,没有冻结或滞后。