第一步:打开安装好的QT工程,CTRL+N快捷键新建项目,选择新建应用为基于窗口创建应用QT Widgets Application。
第二步:打开新建的工程,在UI界面,设置好helloworld界面的标签,基于LABEL控件,在控件里面编写字符串。
第三步:CTRL+R运行,会提示是否保存修改的UI界面文件,选择总是在构建工程前保存文件,以后,编译运行时,就不会再提示该信息。
第四步:发布自己的程序,由于刚才编译运行的是Debug版本,因此,在Debug文件夹下面编译生成的helloworld.exe,直接双击运行,会提示缺少相关.dll文件。原因是QT默认采用的是动态库编译的方式,因此在发布程序时,需要动态链接相关dll文件。
解决办法:
第一种:运行helloworld.exe程序时,会提示缺少相关的dll文件,将相关的dll文件,从自己安装的QT版本路径下面的编译器Migw53目录下面的bin目录下面,这是我的安装目录(D:\Qt\Qt5.9.0\5.9\mingw53_32\bin)选择自己缺少的dll文件,添加大概6个dll文件,复制到helloworld.exe同一个文件中。(缺点:发布的版本文件,因为有dll文件的关联,发布的文件包大小会非常大,几百M)
第二种:编译Debug版本时,以后不用自己添加dll文件在应用程序目录下面,应用程序也可以直接运行的方法,添加上述QT安装目录路径到自己电脑的环境变量里面系统变量Path路径下面。(注意添加路径时,QT安装目录路径之前需要有一个英文的分号,添加的路径才有效)
第五步:发布正式的Release版本程序,编译运行时,使用release编译运行,会在自己的项目文件路径下面,自动生成一个build-helloworld-Desktop_Qt_5_9_0_MinGW_32bit-Release目录,在这个文件目录里面release目录下面可以看到helloworld.exe只有24kb,相对于Debug版本时,程序更小了。(但是,如果需要将这个应用程序发布到其他WINDOWS平台上,也能够正常运行,需要将之前缺少的6个dll文件打包在一起)
如果自己在发布应用程序时,不了解自己的应用程序需要哪些dll文件,可以使用以下方法:
1、QT提供了一个windeployqt工具来自动创建可部署的文件夹。
2、将刚才使用release编译运行的可执行程序helloworld.exe,复制到自己要发布的APP目录下(F:myapp)。
3、使用Qt5.9 for Desktop 命令行工具,然后运行以下命令即可。(同样,也可以用cmd命令执行,但是,前提条件是需要添加了QT的环境变量到自己电脑中)
windeployqt F:\myapp //缺点:会添加一下有些自己应用程序不相关的多余dll文件,增加了发布应用程序的大小
综上所述,上面的发布程序版本的方法是针对采用动态库编译的方式,还可以采用静态库编译的方式,但是,最后生成的应用程序会很大。
//使用QT的qmake工具来编译使用其他文本工具编辑好的cpp文件。
1、使用Qt5.9 for Desktop(MinGW 5.3.0 32bit)命令行工具,切换磁盘符进入到自己编辑存放好的cpp文件目录中。
2、使用qmake -project命令,将会在本cpp目录下面,生成一个以目录名命令的项目文件.pro。
3、使用qmake命令,用于生成编译的MakeFile文件。
4、使用migw32-make命令,编译整个工程文件,将会默认在relase目录下面,生成可执行文件。
(注意:在这里由于QT4和QT5不同,需要在项目.pro文件中添加以下代码,才能够成功编译,原因是由于QT4里面QApplication是单独出来的,QT5里面的QApplication放在Qwidgets模块中了)
添加代码:
-
QT += core gui
-
greaterThan(QT_MAJOR_VERSION, 4): QT += widgets