QT快速入门第2节,第一个qt桌面程序

安装完成后,打开 qt,我这里默认的界面是示例界面:

46062-jdr5v5a1hna.png

包含很多简单的示例供学习 qt 的使用,暂时不看,先自己摸索创建个简单桌面程序,大概了解下 qt 的使用。

2.1 创建空桌面项目

点击左上角的 projects,点击 New Project

66983-fyk49l43wx.png

创建 Widgets 应用,也即桌面应用,选择创建路径,为了避免出现一些编码问题,我没有使用空格符号以及中文:

59870-zsfwy12b7ns.png 因为安装时,我选择了 MinGW,所以这里 qt 自己侦探到了:

40010-h4yn9jc2yu.png 点击下一步:

26944-nguduafo61a.png

点击下一步,点击完成,静候片刻,变来到了编辑界面:

31327-0i3vt31vfwrd.png

现在看左侧的编辑界面:

  • *.pro 里存放的是配置内容,包括使用编译器的版本,编译内容等
  • Headers 和 Sources 里存放的是逻辑控制代码
  • Forms 里存放的 *.ui 是界面,双击它默认进入可以使用鼠标拖动设计的界面,也可以直接编辑它

现在点击左下角的三角形,qt 开始编辑,点击下面的4 编译输出可以看到编译信息,编译完成后,开始运行我们创建的项目:

68308-g7fgjdptb97.png 因为暂时什么都没有添加,所以是一个空白的界面,见到该界面,说明 qt 的安装没有问题。

2.2 增加组件

双击左侧的 mainwindow.ui,进入设计页面:

04805-ip7re1ztdyq.png

左侧是一些常用的组件,我这里拖动了一个 label 组件:

90774-62ftwdag6tk.png 我们既可以使用鼠标直接调整组件的属性,也可以在右侧的控制列表里调整它的属性,现在ctrl+s保存我们修改的内容,再点击左下角的三角形,编译完成后,得到了我们调整后的桌面程序:

90231-0snr36xlznp.png

2.3 发布程序

2.3.1 编译 release 版本

在左下角选择 Release,然后点击构建:

91580-h21bfhjz0vk.png

完成后,在我们创建项目的目录可以看到 Release 目录,点击进入其中的 Release 文件夹,可以看到我们的 exe 文件:

24327-kdon9h4b5b.png

但是我们双击它,会提示找不到一些库:

75059-ikvmd0thv6e.png

2.3.2 打包依赖项

可以先将 exe 程序复制到一个新的文件夹,当然也可以不复制。然后在Windows开始菜单里找到:

55024-akg2c323wkb.png 点击打开,然后进入我们待发布 exe 所在目录,输入windeployqt <exe 文件名>

33587-jo40xo4ze4s.png

完成后,我们的发布目录会多出很多依赖项:

70402-uoqz26z28o.png

此时双击打开 simple_test.exe,发现可以正常打开了。我们可将这个目录打包发布给没有安装 qt 的 windows 使用。

可以借助 Inno Setup 免费工具将我们的程序和依赖项打包成安装程序,具体使用可以参考这个博客的第四节。

2.3.3 修改图标

虽然现在可以打包发布我们的程序,但是可以看到 exe 文件是空白图表,不是特别美观,此时可以通过以下方式修改。

2.3.3.1 准备 ico 图标文件

我是在这个网站下载的,将图标文件放在我们的项目目录:

99924-6w2o30lob0j.png

2.3.3.2 修改 pro 文件

回到 qt,打开我们的 pro 文件,在最后添加一行

RC_ICONS = ico 图表文件名

79826-fk7dg14kuze.png

2.3.3.3 重新build

和之前一样,选择 release,点击 build,完成后,我们就可以在 Release 目录看到修改图标后的程序了。

77201-7fa4m394e74.png

和之前一样,使用 qt for windows命令工具打包即可发布。

阅读更多:   QT
添加新评论

icon_redface.gificon_idea.gificon_cool.gif2016kuk.gificon_mrgreen.gif2016shuai.gif2016tp.gif2016db.gif2016ch.gificon_razz.gif2016zj.gificon_sad.gificon_cry.gif2016zhh.gificon_question.gif2016jk.gif2016bs.gificon_lol.gif2016qiao.gificon_surprised.gif2016fendou.gif2016ll.gif