循环的Qt冻结原因?
Qt freezing cause of the loop?
我用PYQT4设计了一个gui。它有两个按钮。开始按钮之一。它启动一个 start.py 文件。另一个按钮执行停止 start.py pid.
的 stop.py 文件
此 start.py 和 stop.py 文件位于远程位置。我正在使用 ssh 和 paramiko 连接到那里。
当我点击启动按钮时,gui 死机并且没有任何反应。我只能通过关闭程序来摆脱这种情况。我知道问题所在。因为 start.py 中有一个 while 循环,它永远不会结束。
当我点击开始按钮时,等待 while 循环。
我想 运行 start.py 而且我不想等待循环。它必须是 运行 在后台等..
我能做什么?我试图用另一个 .py 文件触发它。我使用了子流程方法。但没有成功。仍然有同样的问题。
看看PyQT theading。
如果您使用 python3.
,您也可以使用 asyncio
我找到了解决方案。我在线程中介绍了该功能。现在它可以正常工作,没有冻结或延迟。
我用PYQT4设计了一个gui。它有两个按钮。开始按钮之一。它启动一个 start.py 文件。另一个按钮执行停止 start.py pid.
的 stop.py 文件此 start.py 和 stop.py 文件位于远程位置。我正在使用 ssh 和 paramiko 连接到那里。
当我点击启动按钮时,gui 死机并且没有任何反应。我只能通过关闭程序来摆脱这种情况。我知道问题所在。因为 start.py 中有一个 while 循环,它永远不会结束。
当我点击开始按钮时,等待 while 循环。
我想 运行 start.py 而且我不想等待循环。它必须是 运行 在后台等..
我能做什么?我试图用另一个 .py 文件触发它。我使用了子流程方法。但没有成功。仍然有同样的问题。
看看PyQT theading。 如果您使用 python3.
,您也可以使用 asyncio我找到了解决方案。我在线程中介绍了该功能。现在它可以正常工作,没有冻结或延迟。