gpt4 book ai didi

python - 正确使用 PyQt timer/sleep

转载 作者:太空宇宙 更新时间:2023-11-04 01:17:44 25 4
gpt4 key购买 nike

如何正确使用QtTimer?

我有一个按钮连接到一个基本上做一些数学运算的方法,但我想迭代它并一次查看一个结果,它们之间有 1 秒的延迟。

在正常的脚本中我会使用

for i in xrange(10):
domath(i)
sleep(1)

但在 GUI 中它不起作用,因为它卡住了 GUI,我看不到结果。只有 10 秒后,我才能看到最后一次迭代。

我尝试了 QtTimer,但它似乎不起作用。

for i in xrange(10):
QtCore.QTimer.singleShot(1000,lambd: domath(i))

它直接进入最后一次迭代。我错过了什么吗?

最佳答案

我个人会这样写:

class A(QObject):
def __init__(self):
self.counter = 0
Timer.singleShot(100, self.domath())

Slot()
def domath(self):
# do the computation
self.counter += 1
if self.counter != 10:
Timer.singleShot(100, self.domath())
else:
self.counter = 0;

免责声明:尽管它看起来像 PyQt 代码,但这只是伪代码。我从未测试过等,但我认为这个概念是有效的。

关于python - 正确使用 PyQt timer/sleep,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23315004/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com