PyQt中的无限背景循环

2 投票
2 回答
2919 浏览
提问于 2025-04-20 06:32

我想用Python写一个QT程序,这个程序应该能不断地检查更新。就像

while(True):
   doSomething()

在一个基于控制台的程序中那样。

有没有什么特定的槽可以用来实现这个功能呢?

2 个回答

2

这要看你想实现什么。

QThread 是一种解决方案。

你也可以使用一个超时时间为零的 QTimer 来解决这个问题。这样的定时器会在事件循环没有其他事情需要处理时,执行连接的槽函数(比如一些后台任务)。

根据你的具体需求,使用一个合适的超时时间的 QTimer 也可能是解决方案(比如用来轮询某个事件)。

正如我所说,这要看你想做什么。

2

使用 QThread 来创建你想要的循环。你可以在 这里这里 以及在谷歌搜索结果中找到很多例子。QThread 是从 QObject 这个类派生出来的,所以你可以像使用 QWidget 一样,连接旧式或新式的信号。

撰写回答