# PyQt6_Project **Repository Path**: xiaobai_long/PyQt6_Project ## Basic Information - **Project Name**: PyQt6_Project - **Description**: Python桌面程序开发 - **Primary Language**: Python - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 4 - **Forks**: 2 - **Created**: 2022-06-01 - **Last Updated**: 2025-05-04 ## Categories & Tags **Categories**: Uncategorized **Tags**: Python, PyQt6, QtDesigner ## README # PyQt6_Project #### 介绍 Python桌面程序开发 #### 软件架构 Mac + Python3.8 + PyQt6.3 #### 安装教程 1. pip install PyQt6 2. pip install pyqt6-tools (GUI设计工具Qt Designer) * 我的目录位置: * /Users/zhengxin/PycharmProjects/PyQt6_Demo/venv/lib/python3.8/site-packages/qt6_applications/Qt/bin 3. xxxx #### 使用说明 1. PyQt6-需要Python3.5 或更改版本 2. PyQt6 官方在线文档:https://www.riverbankcomputing.com/static/Docs/PyQt6/ 3. xxxx #### 参与贡献 1. Fork 本仓库 2. 新建 Feat_xxx 分支 3. 提交代码 4. 新建 Pull Request #### 特技 * PyQt6简介: ![img.png](img.png) ### QtWidgets、QApplication、QWidget 介绍: * QtWidgets:是一个模块,包含了很多用户界面类的模块。 * QApplication:应用类,管理GUI应用程序的控制流和主要设置。 * 初始化: app = QtWidgets.QApplication(sys.argv) * 退出: app.exec() * QWidget类是所有用户界面对象的基类。 * 所有用户界面类都是继承QWidget类而来的,例如QMainWindow类是 继承QWidget类 而来的,QWidget也叫QMainWindow的父类。 ### QWidget类 * QWidget类是所有用户界面对象的基类。也就是所有用户界面类都是继承QWidget类而来的,例如QMainWindow 类是继承QWidget类而来的,QWidget也叫QMainWindow的父类。 * 扩展知识:什么叫继承?什么叫父类、子类? 理解widget, widget, 翻译过来是控件的意思。widget控件 是用户界面的原子组件,从窗口中接收鼠标、键盘和其 他的事件,然后展示在屏幕.上。 * 每个控件都是一个矩形框, 被限制在父控件里面。 没有嵌入在父控件的控件就是窗口了。通常,窗口有外边框和标题栏。QMainWindow和QDialog的多种子类就是 这种类型的窗口。 * QWidget有很多成员函数,大部分函数都没有直接的功能,例如QWidget有QFont的属性(没有直接的功能), QFont又有很多子类提供具体的功能,其他例如QLabel, QPushButton, QListWidget,和QTabWidget属性也是这样。 * 没有父控件的控件是独立的窗口,也叫顶级控件(top-level widget)。这类控件可以使用setWindowTitle()设置窗口标 题,setWindowlcon()设 置窗体图标。 * 非窗口控件都是子控件,显示在父控件里。 ### 使用 GUI设计工具Qt Designer 1.设计完成后,保存为 helloWorld.ui 文件 2.将 .ui文件转为 .py文件: pyuic6 -o helloWorld.py helloWorld.ui 3.新建 主程序 py文件,调用生成的helloWorld.py 文件 ### 编写简易计算器--信号与槽 #### PyQt 的事件处理机制 ![img_1.png](img_1.png) #### 自动关联的槽函数 ![img_3.png](img_3.png) ### PyQt-信号和槽 ![img_2.png](img_2.png) ### Python电脑系统监控-CPU、内存、磁盘、进程、网络 * 单模块应用开发 -> 集成到一个应用里 #### Python电脑系统监控-CPU ![img_4.png](img_4.png) * 1、QtCharts 使用流程: * ![img_5.png](img_5.png) * 安装QtChart:python -m pip install PyQt6-Charts PyQt6 * 使用组件:QGraphicsViews.然后提升为 QChartView。基类名称:QChartView、提升的类为QtCharts:QChartView,头文件为qchartview.h * 2、psutil 模块:访问系统资源模块: * ![img_6.png](img_6.png) * 3、Qt Designer-布局-随窗体布局: * 布局-lay out in a grid。 * 组件:Spacer-间隔 #### Python电脑系统监控-内存监控开发 * 组件:TabWidget-页面切换 * 动态布局设置- * 1.选择底部文字,动态布局(lay out in a grid) * 2.选择底部文字、QGraphicsViews-动态布局。 #### Python电脑系统监控-磁盘监控开发 * 以命名元组的形式返回所有已挂载的磁盘: * import psutil * print(psutil.disk_partitions()) * 布局步骤: * 1.选中组件-QGraphicsViews、Frame,进行 "垂直布局"-Lay out Vertically in Splitter。 * 2.选中 组件-QGraphicsViews、Frame、边框,进行 动态布局-lay out in a grid。 ![img_7.png](img_7.png) * 组件-百分比条形图:PercentBarChart * ![img_8.png](img_8.png) #### Python电脑系统监控-访问进程、网络开发 * 访问进程和网络的Python模块-psutil.pids() / psutil.net_io_counters() * ![img_9.png](img_9.png)