繁体   English   中英

如何在不使用while循环的情况下在python3中重复一个函数?

[英]How can I repeat a function in python3 without using a while loop?

我在python 3中有一个函数,需要不断运行并检查一些变量。 目前,我有一个while循环,一切运行得很顺利,直到我想使用pyqt小部件,结果陷入了灾难。

我在stackoverflow的另一个线程上找到了twisted.internet模块,但是我无法使其在python3上运行。

是否有另一个模块可以让我重复执行某个功能,以便在python3中每0.01秒运行一次而不会使我的代码闲置?

如果您使用的是pyqt,则意味着存在一个正在运行的事件循环(您的while循环将阻止该循环)-您可以要求在一定时间后安排函数调用,而无需循环自己。

使用QTimer听起来像您所需要的。 是使用一个的简单示例。

从第二个链接:

timer = QTimer()
timer.timeout.connect(your_function)
timer.start(100)

只要QTimer保持活动状态,它就会做您想要的事情(如果它被垃圾收集,它将停止)。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM