pyqt5 监控cpu
时间: 2024-09-17 10:09:02 浏览: 71
PyQt5的PyQtGraph实践系列3之实时数据更新绘制图形
5星 · 资源好评率100%
PyQt5是一个基于Python的GUI工具包,它建立在Qt库之上,用于创建跨平台的应用程序。如果你想要通过PyQt5监控CPU状态,通常会利用底层系统的API或者第三方库来获取系统信息,而不是直接操作硬件。
在PyQt5中,可以结合`psutil`库来轻松地监测CPU使用率。首先需要安装`psutil`,你可以使用pip进行安装:
```bash
pip install psutil
```
然后,在你的PyQt5应用中,可以编写类似这样的代码来实时更新CPU使用情况:
```python
import sys
from PyQt5.QtWidgets import QApplication, QLabel, QMainWindow
from PyQt5.QtCore import QTimer, QThread
import psutil
class CPUThread(QThread):
cpu_signal = pyqtSignal(str)
def run(self):
while True:
cpu_percent = psutil.cpu_percent(interval=1) # 每秒获取一次CPU使用率
self.cpu_signal.emit(f"CPU Usage: {cpu_percent}%") # 通过信号更新UI
# 如果需要,也可以睡眠一段时间再获取下一次数据,避免频繁刷新造成性能负担
time.sleep(1)
class MainWindow(QMainWindow):
def __init__(self):
super(MainWindow, self).__init__()
self.label = QLabel("CPU Usage", self)
self.setCentralWidget(self.label)
self.cpu_thread = CPUThread()
self.cpu_thread.cpu_signal.connect(self.update_cpu_label)
self.cpu_thread.start()
def update_cpu_label(self, text):
self.label.setText(text)
if __name__ == "__main__":
app = QApplication(sys.argv)
main_window = MainWindow()
main_window.show()
sys.exit(app.exec_())
```
在这个例子中,我们创建了一个后台线程(CPUThread),它每隔一秒更新一次CPU使用率,并通过信号将结果传递给主线程,然后显示在QLabel上。
阅读全文