PyQt5 编写 Windows 应用程序要点全记录

目录

一、安装调试和基础配置

(一) 安装Python(3.9)

(二) 安装 Pycharm (IDE)

(三) 配置IDE & 安装库

二、PyQt5相关

(一) PyQt5 去掉标题栏

(二) PyQt5 高分辨率屏幕缩放

(三) PyQt5 打开子窗口

(四) PyQt5 子窗口置顶并锁定父窗口

(五) PyQt5 弹出式对话框

(六) PyQt5 系统托盘相关

(七) PyQt5 将窗口置顶

(八) PyQt5 窗体关闭和最小化事件

(九) PyQt5 定时器

(十) PyQt5 输入框(LineEdit)获取/失去焦点事件

(十一)PyQt5 禁用关闭按钮

三、Pyinstaller 相关

(一)Pyinstaller安装

(二)auto-py-to-exe

(三)Pyinstaller 注意事项

(四) 指定不同版本的解释器

四、PyCharm 相关

(一)快捷键

五、Qt Designer 相关

(一)调整定位点密度

六、Python 编程

(一) 申请管理员权限

(二) 读取硬件信息

(三) 注册表操作

(四) 开机启动

(五) 执行CMD命令

(六)多线程


一、安装调试和基础配置

(一) 安装Python(3.9)

Python3https://www.python.org/downloads/

(二) 安装 Pycharm (IDE)

Pycharmhttps://www.jetbrains.com/zh-cn/pycharm/

(三) 配置IDE & 安装库

        1) PyCharm安装完成后,新创建一个项目,为项目命名、确定项目保存的位置、点选

        2) 依次点选 File(文件) -> Settings (设置)-> Project:(项目:) -> Project Interpreter(Python 解释器), 右侧列表中显示已经安装的软件包,点击 + 号。

        3) 在可用软件包中进行搜索,分别安装软件包:PyQt5、PyQt5-Qt、PyQt5-Qt5、 PyQt5-sip、pyqt5-tools等,具体需要哪些软件包根据自己的项目进行配置。

        4)如果pyqt5-tools无法安装,可以使用pip进行安装。

        5)依次点击File(文件) -> Settings(设置) -> Tools(工具) -> External Tools(外部工具),在右侧列表中点击 + 号,分别配置 QtDesigner(用于设计界面)、PyUic(将ui界面文件转换为Python代码)、PyRcc等,具体需要哪些工具根据自己的项目需求进行配置,这些工具便于在项目中对资源文件进行开发与转换等。

Name(名称): QtDesigner
Program(程序):C:\Python39\Lib\site-packages\qt5_applications\Qt\bin\designer.exe
Arguments(实参):空置
Working directory(工作目录):$FileDir$
Name(名称): PyUic
Program(程序):C:\Python39\Scripts\pyuic5.exe
Arguments(实参):$FileName$ -o $FileNameWithoutExtension$.py
Working directory(工作目录):$FileDir$
Name(名称): PyRcc
Program(程序):C:\Python39\Scripts\pyrcc5.exe
Arguments(实参):$FileName$ -o $FileNameWithoutExtension$.py
Working directory(工作目录):$FileDir$

        6)Windows 中文的编码大部分使用GBK,所以将IDE的编码配置GBK是有必要的,依次点击 File(文件) -> Settings(设置) -> Editor(编辑器) -> File Encodings(文件编码),右侧的 Global Encoding (全局编码)修改为 GBK。

        7)编辑Python 代码时,代码软换行(自动换行):依次点击 File(文件) -> Settings(设置) -> Editor(编辑器) -> General(常规),右侧的Soft Wraps的第一行 Soft-wrap files(对这些文件进行软换行): 中添加自己需要自动换行的文件扩展名,比如 py 文件则在后面添加:;*.py。

二、PyQt5相关

(一) PyQt5 去掉标题栏

         在 Form 的 py 文件中 setupUi 方法中针对 Form 配置的末尾加入(该方法配置的标题栏还残留一条,并且尺寸大小也不能再固定,不是很理想):

Form.setWindowFlags(Qt.Qt.CustomizeWindowHint)

(二) PyQt5 高分辨率屏幕缩放

        操作系统对高分辨率的屏幕实现了缩放与布局的设定,所以会导致默认情况下在高分辨率的屏幕并开启缩放的显示器上出现窗口布局错乱的问题。

        在程序的入口处添加该配置:

QtCore.QCoreApplication.setAttribute(
    QtCore.Qt.AA_EnableHighDpiScaling
)

(三) PyQt5 打开子窗口

        通过窗口类的 show() 函数实现窗口的打开

(四) PyQt5 子窗口置顶并锁定父窗口

        在子窗口.ui文件生成的py文件中 setupUi 方法里针对 Form 配置的末尾加入:

Form.setWindowFlags(QtCore.Qt.WindowCloseButtonHint | QtCore.Qt.MSWindowsFixedSizeDialogHint | QtCore.Qt.Tool)
Form.setWindowModality(QtCore.Qt.ApplicationModal)

(五) PyQt5 弹出式对话框

        以下是 PyQt5 默认的几种弹出式对话框,对话框的按钮都是英文,并且不能直接进行按钮文字的修改,如果有需要可以进行重写(本次开发没有相关需求,后期再进行补充)

QtWidgets.QMessageBox.information(
    self,
    "标题",
    "消息",
    QtWidgets.QMessageBox.Yes|QtWidgets.QMessageBox.No,
    QtWidgets.QMessageBox.Yes
)

QtWidgets.QMessageBox.question(
    self,
    "标题",
    "问答消息",
    QtWidgets.QMessageBox.Yes|QtWid
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值