??这段时间学习了Qt,准备自己做一个Qt程序,初学者自然是从HelloWorld开始。
??首先,打开安装好的Qt(Qt Creator),我这里是5.14.2版本的。
项目的创建
??打开Qt后,点击左上角的文件选项,新建一个项目,选择一个模板,在项目里面选择第一个Application,然后在右边选择Qt Widgets Application,最后点击Choose…。
??取一个项目的名字,同时也可以自定义创建路径。
??都设置好后,点击下一步。 ??默认qmake,继续下一步。 ??在这里取一个类名,也可以使用默认的类名,同时把基类设定为QDialog,表明该类继承自QDialog类,使用这个类可以生成一个对话框界面。这时下面的头文件、源文件和界面文件都会自动生成,保持默认即可。
??设定好以后,继续下一步。 ??默认即可,继续下一步。 ??这里选择一个构建套件 ??默认即可,继续下一步。 ??项目建立完后,会直接进入编辑模式,界面的右边是编辑界面,可以阅读和编辑代码,在左边侧边栏,其中罗列了项目中的所有文件。
项目的文件说明
文件 | 说明 |
---|
helloworld.pro | 该文件是项目文件,其中包含了项目相关信息 | helloworld.pro.user | 该文件中包含了与用户有关的项目信息 | hellodialog.h | 该文件是新建的HelloDialog类的头文件 | hellodialog.cpp | 该文件是新建的HelloDialog类的源文件 | main.cpp | 该文件中包含了main()主函数 | hellodialog.ui | 该文件是设计师设计的界面对应的界面文件 |
??在Qt Creator的编辑模式下双击项目文件列表中界面文件分类下的hellodialog.ui文件,这时便进入了设计模式。
①主设计区。 就是图中的中间部分,这里主要用来设计界面以及编辑各个部件的属性。 ②部件列表窗口(Widget Box)。 这里分类罗列了各种常用的标准部件,可以使用鼠标将这些部件拖入主设计区中,放到主设计区中的界面上。 ③对象查看器(Object Inspector)。 这里列出了界面上所有部件的对象名称和父类,而且以树形结构显示了各个部件的所属关系。可以在这里单击对象来选中该部件。 ④属性编辑器(Property Editor)。 这里显示了各个部件的常用属性信息,可以在这里更改部件的一些属性,如大小、位置等。这些属性按照从祖先继承的属性、从父类继承的属性和自己的属性的顺序进行了分类。 ⑤动作(Action)编辑器与信号和/槽编辑器。 在这里可以对相应的对象内容进行编辑。因为现在还没有涉及这些内容,所以放到以后使用时再介绍。 ⑥常用功能图标。 单击最上面的侧边栏中的前4个图标可以进入相应的模式,分别是窗口部件编辑模式(这是默认模式)、信号/槽编辑模式、伙伴编辑模式和Tab顺序编辑模式。后面的几个图标用来实现添加布局管理器以及调整大小等功能。
??接下来就是从部件列表中找到Label(标签)部件,然后按着鼠标左键将它拖到主设计区的界面上,再双击它进入编辑状态后输入“Hello World! 你好Qt!”字符串
??到了这里,一个Qt的HelloWorld程序已经到了快结束的关头。
程序的运行
??这里直接点击运行。等项目构建完成就会弹出界面。整个程序看起来没错。
??但是你去到文件夹,会发现,在项目文件夹外面多了一个名为build-helloworld-Desktop_Qt_5_14_2_MinGW_64_bit-Debug的文件夹,点击进入,继续点击debug文件夹进入,其中会有一个helloworld.exe的文件,你点击后会发现它报错了,为啥呢,因为它缺少dll文件。
??这个时候我们就需要从Qt里面复制一些它所缺少的dll,在Qt的安装目录下Qt\Qt5.14.2\5.14.2\mingw73_64\bin(每个人的前面路径可能不一样)。
??在bin这个文件夹下面搜索报错提示缺少的dll,将其复制,粘贴到debug文件夹下。
??等所有缺少的dll都粘贴好之后,程序就可以运行了。
??当然这只是其中一个方法,还有一个配置环境变量的方法,但是并不实用,毕竟你的程序是给别人使用的,如果对方没有配置环境变量以及没有dll文件,那么你的程序对方还是无法运行。
程序的发布
??现在程序已经编译完成,那么怎么来发布它,让它在别人的电脑上运行呢?
方法一:
??首先在Qt Creator中对helloworld程序进行release版本的编译。在左下角的目标选择器(Target selector)中将构建目标设置为Release。
??编译完成之后再看工程目录中build-helloworld-Desktop_Qt_5_14_2_MinGW_64_bit-Release文件夹的release目录中,已经生成了helloworld.exe文件。
??新建一个文件夹,自己重命名,然后将release文件夹中的helloworld.exe复制过来,再去Qt安装目录的bin目录中将libgcc_s_dw2-1.dll、libstdc+±6.dll、libwinpthread-1.dll、Qt5Core.dll、Qt5Gui.dll和Qt5Widgets.dll这6个文件复制过来。另外,还需要将D:\Qt\Qt5.14.2\5.14.2\mingw73_64\plugins目录中的platforms文件夹复制过来(不要修改该文件夹名称),里面只需要保留qwindows.dll文件即可。
??现在这个文件可以压缩发布了。
方法二:
??使用官方提供的windeployqt工具来进行发布,将release文件夹中的helloworld.exe存放到新建的文件夹里面,然后再开始菜单里面找到Qt命令行程序(Qt 5.14.2 (MinGW 7.3.0 64-bit)),将其打开,然后cd定位到存放helloworld.exe文件的新建的文件夹下。
??然后使用 windeployqt 工具命令:windeployqt helloworld.exe
??等到其执行完毕就可以了
??此时,我们可以发现在刚刚创建的新文件夹中生成许多文件和 dll文件、qm文件,这时候得到的就完整的exe程序发布集合,依赖关系都解决好了。此时点击helloworld.exe文件就可完美的运行。
??现在这个文件可以压缩发布了。
|