簡體   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