一个项目带你快速入门 Qt Creator

图像算法工程师,CSDN博客专家。主要学习和研究计算机视觉、机器学习、深度学习领域,《小白CV》公众号主编团队之一;热爱分享,欢迎各位看官关注交流

文章正文

序言

什么是 Qt?

Qt 是一个跨平台(不依赖于操作系统,也不依赖硬件环境)、完整的集成开发环境,是一个可视化开发平台,其中包括了高级 C++ 代码编辑器、项目和生成管理工具、集成的上下文相关帮助系统、图形化优化器、代码管理和浏览工具等。为应用程序开发者提供建立艺术级图像用户界面所需的所有功能(此等美誉,了得)。我感觉相比于 MFC 会简单很多,其中的机制也比较好理解。

本文使用的是Qt 5.8.0,Qt Create 4.2.1 (community), 可以直接去官网下载:http://www.qtcn.org/bbs/read-htm-tid-1075.html

这里提供下我的百度云下载地址,方便又需要的小伙伴,链接:https://pan.baidu.com/s/1gU0h0WIrVXqecH1kM1sGaw 提取码:nsps

本 Chat 是运行在 Windows 版本上,下载上面链接的文件,安装就按它的提示来就行。

本 Chat 路线:序言—>Qt 安装--->Hello World 入门项目—>认识 Qt 机制--->汽车倒车雷达的显示 GUI--->主窗口编程--->总结。

在编写自己第一个案例之前,先检查下 Qt Creator 是否已经与 Qt 库进行了连接(根据我之前几次的经验,按照上文链接的下载安装,系统会自动检测,进行连接成功)。选择“工具>>选项>>构建与运行>>编译器”进行查看,若没有自动关联,需要手动设置(一般只存在于 Qt Creator 与 Qt 库分别下载安装的情况下)。选择“添加>>MinGW>>添加编译路径”,qtgcc.exe 等文件路径,如下图。同时需要添加哪些内容,可询问度娘,这里不做展开描述。

bianyiku

1 编写一个Hello World项目

1.1 新建项目

“文件>>新建文件或项目”,出现如下图的样例。选择“Application>>Qt Widgets Application”,会看到最右侧对待创建项目的简述,点击“choose”。

新建项目

项目介绍及位置

选择构建套装

输入类信息。在“类信息”中创建一个自定义的类,由于 QDialog 是对话框,多用于短时间与用户的交互,这里选择基类为 QDialog 对话框形式,表明该类继承自 QDialog。之后,头文件、源文件、界面文件都会被自动创建。

基类选择和命名

Qt 中 QMainWindow、QWidget、QDialog 的区别:

QWidget 是所有图形界面的基类,也就是 QMainWindow 和 QDialog 都是 QWidget 的子类; QMainWindow 是一个提供了菜单、工具条的程序主窗口; QDialog 是对话框,多用于短时间与用户的交互。

最后查看创建项目的汇总信息。可以查看到创建文件的保存路径和待即将要生成的各个文件名称。

项目汇总

点击“完成”,此时系统创建项目文件,由“欢迎模式”转换到“编辑模式”(PS:可通过 Ctrl+“鼠标滚轮”放大或缩小字体)。如下图。

界面

  1. 红色框表示创建的各个文件目录,右侧为相应的文件内容;
  2. 蓝色框1表示模式选择器,进行各个模式的转换;
  3. 蓝色框2表示构建套件选择器,包括目标选择器,可以选择 debug 版本和 release 版本;从上往下分别是运行按钮、开始调试按钮(debug)和构建按钮(building),分别表示启动运行、启动调试和编译项目。
  4. 输出部分信息

1.2 项目文件

此时查看我们当初创建项目的文件路径,查看都是哪些文件。

文件

这里汇总了各个文件所对应的说明:

文件说明

双击 .ui 文件,进入 Qt Designer 设计的界面,如下图。

Qt Designer设计的界面

界面包含以下内容。

  1. 主设计区,主要用于设计界面及编辑各个部件的属性,布局和连接方式等;
  2. 部件列表区域(widget box),鼠标拖动部件可以直接添加到主设计区;
  3. 对象查看器(object inspector),罗列了主设计区所有部件的对象名和相应所属的类,可以选择进行修改;
  4. 属性编辑器(property editor),在主设计区点击组件,可以在属性编辑区对应的进行显示,可以更改部件的一些属性,包括大小、位置、名称、或者模型背景图片等等信息。这里属性是按照从祖先、父类和自己的属性进行排序和分类的;
  5. 动作(action)编辑器与信号和槽编辑器

1.3 项目编辑

部件列表区域(widget box)又根据自身的特性分为 Containers 容器、Input Widgets 输入组件、Display Widgets 显示组件。很显然,我们这个项目只是打印一串字符,采用显示组件就行。这里采用“label 组件”,直接拖动 label 到主设计区,添加文字(中文也是可以的),“文件>>保存所有文件”,然后点击左下角的三角绿色符号或者 Ctrl+R 运行,显示。

显示

此时,你可能会无法显示主窗口,并在“应用程序输出”窗口打印如下的错误:

TypeError: Property 'asciify' of object Core::Internal::UtilsJsExtension(0x7b51e80) is not a function" Error while building/deploying project HelloWorlad (kit: Desktop Qt 5.8.0 MinGW 32bit) When executing step "qmake"

出现这个问题是建立工程时 Kin selection 默认路径有问题,我的是多了一些很杂乱的路径(我也不清楚怎么回事),将路径修改一下就编译成功。这个时候打

作者正在撰写中...
隐藏内容 支付可见
内容互动
写评论
加载更多
评论文章
¥1.99 购买
× 订阅 Java 精选频道
¥ 元/月
订阅即可免费阅读所有精选内容