环境与版本
操作系统:windows 10
Qt版本:5.14.2,最后一个有独立安装包的版本,下载地址:archive/qt/5.14/5.14.2
IDE:自带的qt-creator 4.11.1,也可以自行下载其他版本4.14.2,下载地址:archive/qtcreator/4.14/4.14.2
编译环境:MinGW,电脑要先配置MingGW环境,否则无法编译代码,具体安装这边不做赘述,网上下载一个安装并把路径加到环境变量path里就行:MinGW-w64 - for 32 and 64 bit Windows - Browse /mingw-w64/mingw-w64-release at SourceForge.net。
1.安装Qt
先断网,避免触发注册账号的选项,不嫌麻烦可以不断网,注册一个账户也没什么影响。
1.1 直接双击安装包,下一步根据自己需求选择安装路径,不能带中文或特殊符号或空格等,然后下一步选择安装选项。
1.2 在Qt中,根据自己用MSVC还是MinGW编译环境,勾选相应的组件,也可以同时勾选,占用一些空间而已。
1.3 其他一般就按默认的来就行,然后下一步就是等待安装完成。
2.第一个Qt程序
如果不想用IDE,要编译hello_qt.cpp,可以通过在代码目录下使用命令“qmake -project”生成工程文件 -> "qmake hello_qt.pro"生成编译文件 -> "make"编译,来编译代码,但是相比来说没有IDE方便,下面介绍qt-creator使用方法。
2.1 工程建立
(1)新建项目
(2)选择工程目录
(3)选择编译系统,默认用qmake即可
(4)定义类信息,采用默认即可
(5)语言选择,默认即可
(6)选择编译工具,我们用的是MinGW,所以选择该选项,自行决定要用32还是64位的
(7)完成配置
2.2 编译第一个Qt代码
工程配置完之后,就会自动生成一个基本的代码:
可以通过左下角的绿色三角形图标进行编译和调试
运行结果:
至此,可以进行其他的Qt功能开发了。
3.可视化调节界面
上面的两步会生成界面显示文件mainwindow.ui,可以通过修改该代码来调节界面,其实也可以通过Qt自带的Qt designer,来直观地调节界面。
在IDE里直接双击mainwindow.ui,就可以打开编辑,可以调整大小,增删图表等等,然后再通过CPP代码处理逻辑。
比如我这边缩小了尺寸,增加了个按钮:
再编译运行后即可获得对应结果:
4.打包发布
还有其他的打包工具,比如:Enigma Virtual Box和Inno Setup,这边只介绍Qt自带的windeployqt
4.1 首先切换Release构建:
4.2 把可执行程序复制出来,放到比如\qt\hello_qt\publish\目录下,自己新建即可,然后选择自带打包工具
切换到刚才的publish目录下。
4.3 打包,执行命令即可完成打包
windeployqt hello_qt.exe
可以把publish打包发给其他人使用了,但是打包的文件是真的大,裁掉一些不必要的库
windeployqt –no-angle –no-opengl-sw hello_qt.exe
// libEGL.dll, libGLESV2.dll 这两个文件是 ANGLE 的文件,可以去掉
// opengl32sw.dll 是软件模拟 OpenGL, QtWidgets/C++ 程序都不用 OpenGL,所以直接去掉即可。
// 可在调用 windeployqt.exe 时加”–no-angle” 和 “–no-opengl-sw” 这两个参数。
// iconengines\qsvgicon.dll, imageformats\qsvg.dll, Qt5Svg.dll 这三个文件,如果没有使用 svg 的话,也可以删掉
// 如果没有国际化用户的话,translations 里面的翻译文件也可以删掉。
// QML 程序没有使用 QtWidgets/C++ 可以删掉 Qt5Widgets.dll //C++程序不可以删除!!
// 如果 imageformats 目录里面有几种图像格式没用上,也可以删掉。Qt已经编译了 png 的支持,能读写程序包含的图标就够,其它格式不重要。
// qmltooling 和 Qt5Network.dll 是用于 QML 调试用的,可以删掉。
如果要用静态库,那还得用静态方式static选项编译qt源码才行。