第1篇 Qt开发环境的搭建和hello world
版权声明
该文章原创于Qter开源社区( http://www.qter.org ),作者 yafeilinux ,转载请注明出处! 可以到 这里 讨论本文章!
导语
从2012年本系列教程的那次更新到现在已经5年时间了,5年中Qt发生了很大的变化,从Qt 4时代已经发展到了现在的Qt5.8。本系列教程的上一次更新是基于Qt 4.8的,虽然Qt 4时代的知识在Qt 5依然可用,但是对于初学者而言,微小的差异都会浪费大量时间去解决。虽然我们早已推出过渡篇来帮助大家将Qt 4代码迁移到Qt 5,不过那个教程不可能面面俱到,现在使用Qt 5学习本系列教程的童靴越来越多,为了节省大家宝贵的时间,让入门的童鞋少走弯路,现在决定使用最新的Qt 5.8重写该系列教程。后面会用很短的时间将前面已有的教程全部进行重写,然后开始新的篇章来探索最新的技术和内容,因为这才是该系列教程的初衷——为Qt爱好者探路、助Qt初学者入门!从这一篇我们正式开始Qt 5编程学习。本篇主要讲解Qt编程环境的搭建,为了适应大多数读者的需要,同时避免系统环境的不同而产生不必要的问题,这里选择使用Windows 7作为开发平台。对于使用其他操作系统(例如Linux)的童鞋,可以参照学习。
环境是:Windows 7 + Qt 5.8.0(包含QtCreator 4.2.1)
正文
一、Qt SDK的下载和安装
1、下载
Qt官网主页提供了最新版Qt的下载,不过我们更倾向于去资源下载页面(https://download.qt.io/official_releases/qt/5.8/5.8.0/)进行下载,这里罗列了所有可用版本,便于选择,如下图所示。(PS:单击上方的Parent Directory可以查看其他版本的下载,还可以下载更多其他资源。)
为了便于后面讲解Android开发,我们这里下载的版本是:
qt-opensource-windows-x86-android-5.8.0.exe当然,如果只想进行桌面版本开发,那么也可以下载:qt-opensource-windows-x86-mingw530-5.8.0.exe
2、安装
双击运行下载好的qt-opensource-windows-x86-android-5.8.0.exe文件开始进行安装,首先是欢迎界面,这里提示如果没有Qt帐号,可以在后面的步骤中创建一个,我们直接单击Next按钮进入下一步,如下图所示。
这里可以直接登录Qt帐号,如果没有可以在这里注册一个,不过登录或注册与否都不影响我们的安装,所以直接单击Skip按钮跳过这一步即可,如下图所示。
后面的步骤可以都保持默认设置,直接单击Next,在Select Component界面可以看下Qt SDK中包含的内容,如下图所示。
安装好以后默认选择了运行Qt Creator(Qt官方集成开发环境),点击Finish按钮关闭向导完成安装。如下图所示。
二、创建hello world程序
1.运行Qt Creator
期待已久的Qt Creator主界面如下图所示。以后再想运行Qt Creator,可以到系统开始菜单中找到它,即Qt Creator 4.2.1 (Community)。
QtCreator作为Qt官方的开发环境,对Qt各方面支持都非常完善,而且使用起来体验也非常好,所以没有特殊情况,建议大家使用Qt Creator进行Qt开发(PS:小白疑惑:难道还能使用其他IDE进行Qt开发?答疑:当然了,比如用的比较多的VS,不仅如此,即便不用IDE,直接使用记事本也可以编写Qt程序!)。
QtCreator主界面分为了6个模式:欢迎模式、编辑模式、设计模式、Debug调试模式、项目模式和帮助模式,分别由左侧的6个图标进行切换,对应的快捷键是Ctrl + 数字1到6。现在显示的就是欢迎界面,这里可以看到一些入门教程、开发的项目列表、Qt提供的示例程序,单击一个示例程序就可以直接打开该项目。单击左侧的Get Started Now会进入帮助模式,并打开Qt Creator指南,刚接触Qt的同学可以把里面的内容简单看下,当然,帮助中的内容是全英文的。
2.创建项目
我们使用欢迎界面Projects页面上的New Project按钮来创建新的项目(当然也可以在文件菜单中创建项目,或者直接使用Ctrl+N快捷键)。在项目模板中选择Application,然后选择Qt Widgets Application,这样便会生成一个桌面Qt图形界面项目,如下图所示。其他项目的创建会在后面的教程中讲到。
然后更改项目名称和路径,这里名称可以设置为helloworld,注意名称和路径上都不要有中文。如下图所示。
下面设置构建套件,因为我们下载的是Android版本的Qt,所以这里默认出现了两个构建套件,现在默认勾选了Desktop构建套件,这个是用来编译桌面版程序的,如下图所示。作为Qt学习的入门教程,我们暂时先使用桌面版应用进行讲解,所以这里保持默认设置,关于构建套件会在本篇教程后面讲到。直接单击“下一步”按钮。
现在显示的是项目的类信息,如下图所示。这里的基类可选的有QMainWindow、QWidget和QDialog三个,关于这三个类会在后面的篇章中详细介绍,这里只要知道QMainWindow是一般桌面程序的主窗口即可。类名、头文件、源文件等都可以自定义名称,现在默认勾选了创建界面,这样可以使用设计器来设计主界面,这些内容建议都保持默认,直接单击“下一步”按钮。
最后是项目管理界面,这里显示了源码目录和项目中自动添加的文件,还可以设置版本控制系统,不过,现在我们没有使用到,所以直接单击“完成”按钮完成项目创建。
3.完成hello world项目
创建完项目后会进入编辑模式,这里可以对项目文件进行查看和编辑。左侧是项目文件的列表,这里将项目中的文件分为了头文件、源文件、界面文件等进行分类显示。除了显示项目文件,还可以通过下拉菜单来选择类视图、大纲等内容。在右侧就是代码编辑区域,这里对关键字进行了高亮显示。如下图所示。
单击上方的分栏13-1.png图标,可以同时显示其他内容,比如这里选择显示“打开文档”和“文件系统”,如下图所示。
这时会在项目文件列表下显示出已经打开的文档列表和文件系统,如下图所示。
下面双击界面文件目录下的mainwindow.ui文件,进入设计模式。在这里可以对界面进行可视化设计,也就是所见即所得。左侧是一些常用部件,可以直接拖动到界面上;右侧上方是对象和类列表,下方是部件的属性编辑窗口;在中间,上方是主设计区域,显示了窗口的主界面,下方是Action编辑器以及信号和槽编辑器。我们从左侧部件列表中找到Label标签部件并拖动到界面上,然后双击,更改其显示文本为“helloworld”,如下图所示。
下面单击Qt Creator左侧的15-1.png运行按钮来编译运行程序,如果前面的文件没有保存,那么可能会弹出保存修改对话框,选中“构建之前总是先保存文件”,然后点击保存所有文件按钮即可,这样以后运行时都会自动保存未保存的文件。hello world程序运行效果如下图所示。
三、发布程序
1.查看项目目录
这里会发现多了一个build-helloworld-Desktop_Qt_5_8_0_MinGW_32bit-Debug目录,里面存放的就是编译生成的文件。该目录的内容如下图所示。
这里有两个目录:debug和release,因为编译时默认是debug版本,所以现在release目录中是空的。打开debug目录,可以看到生成的可执行文件helloworld.exe,如下图所示。
此时双击helloworld.exe文件,会弹出系统错误提示框,提示丢失了Qt5Cored.dll文件。如下图所示。
我们可以在Qt安装路径下找到该文件,我这里是在C:\Qt\Qt5.8.0\5.8\mingw53_32\bin中,将其复制到debug目录里面,然后还会提示缺少其他几个dll文件,依次将它们复制过来即可。完成后helloworld.exe就可以运行了。其实也可以先设置环境变量,以后在本机就可以直接运行生成的可执行文件了,这个可以参考下面的附录。
2.编译release版本程序
可以看到debug版本的可执行文件需要的dll文件很大,因为其中包含了调试信息。而实际发布软件是使用的release版本,下面就来编译release版本的helloworld程序。(PS: 如果前面关闭了Qt Creator,那么需要在Qt Creator中再次打开helloworld项目,可以从欢迎模式的开发页面中打开最近使用的项目,也可以从文件菜单中打开,还可以将源码目录中的.pro文件直接拖入到QtCreator来打开。)如下图所示,在左下角的目标选择器中设置为release版本,也就是发布版本。完成后运行程序即可。
3.设置应用程序图标
想要发布的程序有个漂亮的图标,操作非常简单,把要设置的ico图标放到源码目录,例如myico.ico文件,然后打开项目文件helloworld.pro,在最下面添加一行代码:RC_ICONS = myico.ico再次运行程序,可以看到窗口左上角出现了设置的图标,如下图所示。
现在到build-helloworld-Desktop_Qt_5_8_0_MinGW_32bit-Release目录中的release目录,可以看到helloworld.exe已经使用了新的图标,可以将其复制到一个新建文件夹中,然后将需要的几个dll文件(跟debug版本的不是完全一样哦!)也复制过来,分别是Qt安装目录下bin目录中的libgcc_s_dw2-1.dll、libstdc++-6.dll、libwinpthread-1.dll、Qt5Core.dll、Qt5Gui.dll和Qt5Widgets.dll这6个文件,另外,还需要将C:\Qt\Qt5.8.0\5.8\mingw53_32\plugins目录中的platforms文件夹复制过来,里面只需要保留qwindows.dll文件即可,如下图所示。最后将该文件夹压缩打包即可发布。
四、Qt工具介绍和附录
安装好Qt后,会在开始菜单生成一个目录,如下图所示。
这里是Qt提供的几个工具软件。其中Assistant是Qt助手,它已经集成到了QtCreator中,就是帮助模式;Designer是Qt设计师,它也集成到了Qt Creator中,就是设计模式; Linguist是Qt语言家,用来对软件进行国际化翻译;下面的Qt 5.8 for Desktop可以用来进行命令行操作,比如使用命令行来编译程序等。
附录
1、设置环境变量
前面为了运行生成的helloworld.exe文件,复制了一些dll文件。其实,如果只想在本机运行程序,那么不必要每次都复制这些文件,只需要将path环境变量设置一下即可。我们在桌面计算机(我的电脑)图标上右击,选择属性,然后选择高级系统设置,在高级页面选择环境变量,然后在系统变量中找到Path变量,双击,在变量值的最后,添加上Qt的bin目录的路径,我这里是; C:\Qt\Qt5.8.0\5.8\mingw53_32\bin(注意,在最前面有个英文半角的分号)。如下图所示。
这样以后直接在本机运行exe文件就不需要再复制那些dll文件了。其实,还有一种方式也不需要dll文件,那就是静态编译,不过使用静态编译的Qt程序很大,而且不够灵活,所以这里不再讲解,有兴趣的朋友可以在网上搜索一下。
五、结语与资源下载
这一篇中通过创建一个hello world程序,主要讲解了Qt Creator开发环境的创建以及Qt程序运行发布等内容。这一篇是最基本的知识,希望大家先按照本篇内容安装好Qt,再来学习下面的内容。在《Qt Creator快速入门》一书中对开发环境以及hello world程序进行了更加详细深入的讲解,有需要的童鞋可以参考一下。