python3GUI--仿win10任务管理器By:PyQt5(附UI源码)
发布人:shili8
发布时间:2025-02-01 18:19
阅读次数:0
**Python3 GUI -仿 Win10任务管理器 By PyQt5**
在本文中,我们将使用 PyQt5 库创建一个简化的 Windows10任务管理器 GUI 应用程序。这个应用程序将包含以下功能:
*任务列表* 进程列表* 系统资源监控(内存、CPU 等)
* 用户登录信息**UI 设计**
首先,我们需要设计我们的 UI。我们将使用 PyQt5 的 Qt Designer 工具来创建一个 UI 文件。
打开 Qt Designer,新建一个窗口,然后添加以下组件:
*任务列表:一个 QTableWidget 组件* 进程列表:一个 QTableWidget 组件* 系统资源监控:一个 QTableWidget 组件* 用户登录信息:一个 QTableWidget 组件**UI 源码**
以下是我们的 UI 源码:
import sysfrom PyQt5.QtWidgets import QApplication, QWidget, QVBoxLayout, QTableWidget, QTableWidgetItem, QPushButton, QLabelfrom PyQt5.QtCore import Qtclass TaskManager(QWidget): def __init__(self): super().__init__() self.setWindowTitle("Task Manager") self.setGeometry(100,100,800,600) layout = QVBoxLayout() #任务列表 self.task_list = QTableWidget() self.task_list.setRowCount(10) self.task_list.setColumnCount(3) self.task_list.setHorizontalHeaderLabels(["PID", "名称", "状态"]) for i in range(10): self.task_list.setItem(i,0, QTableWidgetItem(str(i))) self.task_list.setItem(i,1, QTableWidgetItem("任务 {}".format(i))) self.task_list.setItem(i,2, QTableWidgetItem("运行中")) layout.addWidget(self.task_list) # 进程列表 self.process_list = QTableWidget() self.process_list.setRowCount(10) self.process_list.setColumnCount(3) self.process_list.setHorizontalHeaderLabels(["PID", "名称", "状态"]) for i in range(10): self.process_list.setItem(i,0, QTableWidgetItem(str(i))) self.process_list.setItem(i,1, QTableWidgetItem("进程 {}".format(i))) self.process_list.setItem(i,2, QTableWidgetItem("运行中")) layout.addWidget(self.process_list) # 系统资源监控 self.resource_monitor = QTableWidget() self.resource_monitor.setRowCount(5) self.resource_monitor.setColumnCount(3) self.resource_monitor.setHorizontalHeaderLabels(["名称", "值", "%"]) for i in range(5): self.resource_monitor.setItem(i,0, QTableWidgetItem("内存")) self.resource_monitor.setItem(i,1, QTableWidgetItem(str(i *100) + " MB")) self.resource_monitor.setItem(i,2, QTableWidgetItem(str(i *10))) layout.addWidget(self.resource_monitor) # 用户登录信息 self.login_info = QTableWidget() self.login_info.setRowCount(5) self.login_info.setColumnCount(3) self.login_info.setHorizontalHeaderLabels(["用户名", "密码", "状态"]) for i in range(5): self.login_info.setItem(i,0, QTableWidgetItem("用户 {}".format(i))) self.login_info.setItem(i,1, QTableWidgetItem("密码 {}".format(i))) self.login_info.setItem(i,2, QTableWidgetItem("登录中")) layout.addWidget(self.login_info) self.setLayout(layout) if __name__ == "__main__": app = QApplication(sys.argv) task_manager = TaskManager() task_manager.show() sys.exit(app.exec_())
**代码注释**
* `QTableWidget` 组件用于创建表格控件。
* `setRowCount` 和 `setColumnCount` 方法用于设置表格的行数和列数。
* `setHorizontalHeaderLabels` 方法用于设置表格的水平标题。
* `setItem` 方法用于设置表格中的单元格值。
* `QVBoxLayout` 组件用于创建垂直布局管理器。
* `addWidget` 方法用于添加控件到布局管理器中。
**运行结果**
当你运行这个程序时,会出现一个窗口,包含四个表格控件:任务列表、进程列表、系统资源监控和用户登录信息。每个表格都有自己的数据源,并且可以根据需要进行修改。
希望这个示例能够帮助你理解如何使用 PyQt5 库创建 GUI 应用程序。