Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/295.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在python3中重复函数而不使用while循环?_Python_Python 3.x_Repeat - Fatal编程技术网

如何在python3中重复函数而不使用while循环?

如何在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中有一个函数,需要经常运行并检查一些变量。目前,我有一个while循环,一切都很顺利,直到我想使用pyqt小部件,结果导致了一场灾难

我在stackoverflow中的另一个线程上找到twisted.internet模块,但我无法让它在python3上运行


是否有其他模块允许我在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()函数。正确的?我是不是遗漏了什么?