如何让PyQT程序不断刷新一个小部件,始终提供最新的值?

我正在学习用PyQT4和
Python编程.我正在尝试编写一个简单的应用程序,它将在QLCD小部件中显示当前的CPU使用情况.对于CPU使用情况,我正在使用psutils模块.

问题是CPU使用率不是一直都在更新 – 它只记录应用程序启动时的CPU使用率(我猜),然后就停止了.所以,我正在寻找某种类似的循环,希望不会占用过多的CPU能力.

这是我到目前为止:

self.wpCpuUsage.display(cpu_percent(interval=1))

这是在QMainWindow类的__init__范围内.

我已经尝试将它放在for循环中,但随后它迭代它,基本上等待它迭代然后执行程序.

救命?

最佳答案 您可以将QTimer
[reference]对象与回调一起使用.

这样的东西应该工作:

def call_this():
    self.wpCpuUsage.display(cpu_percent(interval=1))

self.my_timer = QtCore.QTimer()
self.my_timer.timeout.connect(call_this)
self.my_timer.start(1000) #1 second interval
点赞