如何在python3中重复函数而不使用while循环?
我在Python3中有一个函数,需要经常运行并检查一些变量。目前,我有一个while循环,一切都很顺利,直到我想使用pyqt小部件,结果导致了一场灾难 我在stackoverflow中的另一个线程上找到twisted.internet模块,但我无法让它在python3上运行如何在python3中重复函数而不使用while循环?,python,python-3.x,repeat,Python,Python 3.x,Repeat,我在Python3中有一个函数,需要经常运行并检查一些变量。目前,我有一个while循环,一切都很顺利,直到我想使用pyqt小部件,结果导致了一场灾难 我在stackoverflow中的另一个线程上找到twisted.internet模块,但我无法让它在python3上运行 是否有其他模块允许我在python3中每隔0.01秒重复一个特定函数,而不使代码闲置?如果您使用pyqt,这意味着有一个正在运行的事件循环(while循环会阻止它)——您可以要求它在一定时间后安排函数调用,而无需自己循环 使
是否有其他模块允许我在python3中每隔0.01秒重复一个特定函数,而不使代码闲置?如果您使用pyqt,这意味着有一个正在运行的事件循环(while循环会阻止它)——您可以要求它在一定时间后安排函数调用,而无需自己循环 使用a听起来像是你需要的。这是一个更简单的例子 从第二个链接:
timer = QTimer()
timer.timeout.connect(your_function)
timer.start(100)
只要QTimer保持活动状态(如果它被垃圾收集,它将停止),这将实现您想要的功能。问题很可能不是
while
循环。你在做什么?如果你想在设定的时间间隔内重复运行一个函数而不阻塞你的程序,计划一个事件(pyqt的等价物是Tkinter的after()
,不管是什么)。我正在尝试运行一个函数,它有一个永远运行的while循环(这就是它必须要做的),以及创建一个包含文本框的窗口。如果我对while循环进行注释,窗口会弹出,但我的函数不起作用,而这是它的基础。如果我取消对while循环的注释,我的函数工作得很好,但窗口永远不会弹出。所以我的想法是运行某种代码来重复这个函数,而不使用无休止的循环。每0.01秒重复一次。谢谢。因此,通过使用QTimer.start(write_msg(),int 100)可以每100英里运行一次write_msg()函数。正确的?我是不是遗漏了什么?