Qt下载
离线安装包网址:http://download.qt.io/archive/qt/
建议
- Qt5 安装 5.14.2版本 这是Qt5最后一个可以离线安装的版本。
- Qt6安装最新的
之前在线安装还能选择5.15版本,现在只能安装6.x版本了。
所以还是建议直接安装6.x版本。
版本区别
那么 Qt 5 的各个版本,该如何选择呢?
- 如果你需要用到 QtWebkit,则只能用 Qt5.5及其以前的版本。
- 如果你需要 PDF 的支持,建议升级至 5.15,因为新增模块 Qt PDF
- 如果你需要 SSL 的支持,建议升级至 5.15,因为 5.13 开始已自支持 OpenSSL 1.1 及其以上。
- 如果你常用 QImage,建议升级至 5.15,因为缩放和转换的许多方法都升级成多线程的。
- 如果你常用 QtQuick,建议升级至 5.15,因为 5.14 开始 QtQuick 不再局限于 OpenGL 引擎加速。
- 如果你常用 QNetworkAccessManager,建议升级至 5.15,因为开始支持超时设置 setTransferTimeout
- 如果你发行在 Windows 平台,建议升级至 5.15,因为 5.14 开始对高DPI的设备有更好的支持。
- 如果你需要开发 安卓APP,建议升级至 5.15,因为该版本完善了安卓开发文档。
开发工具推荐
Qt Creater
官方提供的工具功能比较强大,但是界面字体太小,代码提示及格式化功能不太强,但是对QML的支持比IDEA好。
IDEA/PyCharm
上面两个如果已经安装IDEA,就不再建议安装PyCharm,安装Python
插件和QML Editor
插件即可。
安装Python
这里我直接整理了64位和32位的3.8.1版本下载链接给大家:
- 64位安装程序链接
- 32位安装程序链接
官方下载地址:https://www.python.org/downloads/
请注意,一定要勾选 Add Python 3.8 to PATH,这样可以将 Python 命令工具所在目录添加到系统 Path 环境变量中,以后开发程序或者运行 Python 命令会非常方便。
其他我们保持默认即可,然后点Install Now
即可完成安装。
设置镜像源
永久生效
进入当前用户目录中(Windows R
输入 .
),创建pip
文件夹,pip文件夹中创建配置文件 pip.ini
。
复制以下内容
代码语言:javascript复制[global]
index-url = https://mirrors.aliyun.com/pypi/simple/
[install]
trusted-host=mirrors.aliyun.com
临时生效
代码语言:javascript复制pip install pyside2 -i https://pypi.douban.com/simple/
安装PySide2
这里使用了豆瓣的镜像
代码语言:javascript复制pip install pyside2 -i https://pypi.douban.com/simple/
如果报错
No module named ‘PySide2’
说明没安装pyside2
,如果安装后还报错,可能是电脑上有多个Python环境,在运行设置里修改使用的Python即可。
离线包下载
https://download.qt.io/official_releases/QtForPython/
离线安装
代码语言:javascript复制pip install PySide6-6.0.1-6.0.1-cp36.cp37.cp38.cp39-none-win_amd64.whl
注意
PySide6只能在64位环境安装,要求Python是64位版本的。我就是安装32位的Python,一直安装不上PySide6。
创建项目
前两个都是用C 开发,第三个是用Python开发。
这里就选择使用Python开发,后面又有4个选项
- 第一个是空项目,有基本的代码但是没有创建窗口。
- 第二个能运行有窗口但是UI和逻辑是在一个文件中。
- 第三个是分离的,UI使用的是XML的形式,可以图形化界面编辑。 Qt Widgets QSS
- 第四个也是分离的,UI是用的QML和Flutter写UI的方式很像。 QML:这是 Qt 为 Qt Quick 打造的描述界面的新语言,然而就语法上,基本就是对 Javascript 做了扩展。几乎所有 Javascript 的语法都可以使用。
这里推荐选后两个即可。
两种方式对比:
发布程序
安装pyinstaller
pip install pyinstaller
生成exe
方式1/2
打包命令
代码语言:javascript复制pyinstaller mainwindow.py -Fw
这种方式打出的是单文件,所以后面的两种不能用这种方式,因为后两种需要复制界面文件。
方式3
打包命令:
代码语言:javascript复制pyinstaller mainwindow.py --noconsole --hidden-import PySide2.QtXml
项目下就会生成dist目录,里面就有生成的exe。
但是运行报错,我们要把界面文件复制到生成的目标根目录,比如form.ui
.
方式4
打包命令:
代码语言:javascript复制pyinstaller main.py --noconsole --hidden-import PySide2.QtXml
同样我们也要把界面文件复制过来,如main.qml
C 构建与打包
如果用的C 方式,运行是直接生成exe的,但是无法运行
默认构建后,目录下的exe不能运行,会缺少依赖的DLL。
添加环境变量(根据自己Qt的安装路径修改)
D:ToolsQt6.2.1mingw81_64bin
进入exe的生成目录运行
代码语言:javascript复制windeployqt.exe 程序名称.exe
这样所有依赖的DLL就会自动生成。