PyQt5固定宽度实现CPU监控器

PyQt5固定宽度实现CPU监控器

PyQt5固定宽度实现CPU监控器

在本文中,我们将详细介绍如何使用PyQt5创建一个简单的CPU监控器,该监控器将显示当前CPU利用率并具有固定宽度。我们将使用psutil库来获取系统CPU利用率,并使用PyQt5来创建GUI界面。

环境配置

在开始之前,确保你已经安装了以下软件和库:

你可以使用以下命令来安装这些库:

pip install pyqt5 psutil

创建CPU监控器

首先,我们创建一个名为cpu_monitor.py的Python脚本,并在其中编写以下代码:

import sys
from PyQt5.QtWidgets import QApplication, QWidget, QVBoxLayout, QLabel
from PyQt5.QtCore import QTimer
import psutil

class CPUMonitor(QWidget):
    def __init__(self):
        super().__init__()

        self.setWindowTitle("CPU Monitor")
        self.setGeometry(100, 100, 200, 50)

        self.layout = QVBoxLayout()

        self.label = QLabel()
        self.label.setAlignment(0x0004)  # Align center
        self.layout.addWidget(self.label)

        self.setLayout(self.layout)

        self.timer = QTimer()
        self.timer.timeout.connect(self.update_cpu_utilization)
        self.timer.start(1000)  # Update every second

    def update_cpu_utilization(self):
        cpu_percent = psutil.cpu_percent(interval=1)
        self.label.setText(f"CPU Utilization: {cpu_percent}%")

if __name__ == "__main__":
    app = QApplication(sys.argv)
    cpu_monitor = CPUMonitor()
    cpu_monitor.show()
    sys.exit(app.exec_())

在上面的代码中,我们创建了一个CPUMonitor类,该类继承自QWidget。在构造函数中,我们设置了窗口的标题、大小并创建了一个垂直布局。我们还创建了一个QLabel控件用于显示CPU利用率,并将其添加到布局中。然后我们使用QTimer来定时更新CPU利用率,更新间隔为1秒。

最后,在main函数中,我们创建了一个QApplication应用,实例化了CPUMonitor类并显示窗口,然后启动了应用。

运行程序

要运行我们的CPU监控器,只需在终端中执行以下命令:

python cpu_monitor.py

这将打开一个窗口,显示当前的CPU利用率。由于我们使用固定宽度,默认情况下应用程序会自适应窗口大小,并且标签文本会水平滚动。为了解决这个问题,我们需要将标签文本的最大宽度设置为窗口的宽度。

实现固定宽度

为了实现固定宽度,我们需要在CPUMonitor类中重写resizeEvent方法。这样当窗口的大小发生变化时,我们就可以调整标签文本的大小。

修改代码如下:

    def resizeEvent(self, event):
        self.label.setFixedWidth(event.size().width())

现在,当窗口的大小发生变化时,标签文本的宽度将始终等于窗口的宽度。重新运行程序,你将看到CPU监控器现在具有固定宽度,并且标签文本不再水平滚动。

结论

通过本文,我们学习了如何使用PyQt5创建一个简单的CPU监控器,并实现了固定宽度。我们还使用了psutil库来获取系统的CPU利用率。你可以根据需要进一步扩展和定制CPU监控器,例如添加图表、历史数据记录等功能。

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程