前言
Qt Quick
和Qt Widgets
这两种技术,官方是强推Qt Quick
的。
但是实际体验Qt Quick在桌面端的体验一般,并且国内大厂都还是用的Qt Widgets
。
https://download.qt.io/official_releases/QtForPython/
资源文件个人建议:
UI 文件单独放在ui文件夹中,使用
VSCode任务
自动生成Python文件。qrc中只存放
qss样式
、图片
等资源文件。操作qrc还是建议在
Qt Creator
中操作,比较方便。
开发工具
编辑UI文件使用 自带的 Qt Creator
。
项目使用VSCode
,IDEA中的Qt插件是收费的。
Python格式化插件 安装Black Formatter
文件 => 首选项 => 设置
添加配置
1 | "[python]": { |
设置VSCode任务
项目根目录创建.vscode
文件夹
添加文件tasks.json
1 | { |
运行任务直接用快捷键Ctrl+Shift+B
运行时再点击快捷键Ctrl+Shift+B
可以选择重启任务或者终止任务
同时依赖UI和资源的编译
1 | { |
加载UI
UI转Python(推荐)
转成代码后加载
UI文件转Python代码
1 | pyside2-uic form.ui -o ui_form.py |
显示
1 | import sys |
直接加载UI
1 | import os |
加载qrc中的UI(推荐)
1 | # This Python file uses the following encoding: utf-8 |
设置样式
添加引用
1 | from PySide2 import QtCore, QtGui, QtWidgets |
设置样式
1 | # 读取资源文件中的 QSS 文件 |
事件绑定
加载的代码
如果UI文件已经转为Python文件,那么组件都会添加到属性中,可以直接使用
1 | import sys |
加载的UI文件
1 | # This Python file uses the following encoding: utf-8 |
打包
Win上打包
1 | pyinstaller main.py -y --windowed |
设置ico
1 | pyinstaller main.py -y --noconsole --name="xhschool" --icon="logo.ico" |
单文件
1 | pyinstaller main.py -y -F --noconsole --name="xhschool" --icon="logo.ico" |
注意
在Win上
--windowed
和--noconsole
作用一样,但是--windowed
只能在Win上用,--noconsole
还可以在Linux上打包。