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

发布于 2024-12-08 14:51:56 字数 428 浏览 0 评论 0原文

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

问题是CPU使用率不会一直更新——它只记录应用程序启动时的CPU使用率(我猜),然后就停止了。因此,我正在寻找某种类似的循环,希望不会占用太多的 CPU 处理能力。

这就是我到目前为止所拥有的:

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

这是在 QMainWindow 类的 __init__ 内。

我尝试将其放入 for 循环中,但随后它会对其进行迭代,并且基本上等待它迭代,然后执行程序。

帮助?

I'm learning to program with PyQT4 and Python. I'm trying to code a simple app that will display the current CPU usage in a QLCD widget. For CPU usage I'm using psutils module.

The problem is that the CPU usage is not updated all the time - it only records the CPU usage at the moment the app has been launched (I'm guessing), and then it just stops. So, I'm looking for some sort of a loop equivalent that will hopefully not take too much of CPU power to process.

This is what I have so far:

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

and this is within __init__ of the QMainWindow class.

I've tried putting it in a for loop, but then it iterates over it, and basically waits for it to iterate and then executes the program.

Help?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

街道布景 2024-12-15 14:51:56

您可以使用QTimer[参考] 带有回调的对象。

类似的东西应该有效:

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

You can use a QTimer[reference] object with a callback.

Something like that should work:

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
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文