Qt的安装教程网上资源较多,本文不做过多赘述。Qt Creator是一个轻量级的跨平台集成开发环境(IDE),专为使用Qt框架进行应用程序开发而设计。启动Qt Creator后,出现下图所示的界面。该界面简洁明了,上方是主菜单栏,左侧是主要工具栏,中间部分为工作区。
左侧工具栏有欢迎, 编辑, 设计, 项目,帮助按钮。
-
单击欢迎,切换到下图界面;
-
单击编辑,切换到编辑模式;
-
单击项目按钮后,工作区显示新建项目按钮和最近打开项目的列表;
接下来编写一个Hello World程序。
1.1 新建一个项目
单击菜单栏 文件 -> 新建文件或项目后出现下图所示的对话框,按照下图顺序选择。
- Qt Widgets Application,支持桌面平台的有图形用户界面(Graphic User Interface,GUI)界面的应用程序。GUI的设计完全基于C++语言,采用Qt提供的一套C++类库。
- Qt Console Application,控制台应用程序,无GUI界面,一旦用于学习C/C++语言,只需要简单地输入输出操作就可创建此类项目。
- Qt Quick Application,创建可部署的Qt Quick2应用程序。Qt Quick是Qt支持的一套GUI开发架构,其界面设计采用的是QML语言,程序架构采用C++语言。可以设计比较酷炫的界面,一般用于移动设备或嵌入式设备上的无边框应用程序。
选择Qt Widgets Application模板后,接下来显示下图的新建项目导向,主要是设置项目名和项目存储位置。
完成项目名和保存路径设置后,单击下一步按钮。出现了下图所示的定义构建系统界面,选择qmake。
- qmake针对辅助Qt开发的,但也可以在非Qt项目使用,其语法简单,功能相对也简化了;
- CMake很常用,功能强大,OpenCV等知名项目都使用它,但语法繁杂;
- Qbs是下一代构建工具。
初学者建议使用qmake进行学习及练习。
完成构建系统定义设置后,出现下图所示的选择界面基类的界面,
- QMainWindow是主窗口类,主窗口具有菜单栏、工具栏和状态栏,类似于一般的应用程序的主窗口;
- QWidget是所有具有可视界面类的基类,选择QWidget创建的界面对各种界面组件都可以支持;
- QDialog是对话框类,可以建立一个基于对话框的界面。
建议先使用QWidget,完成设置后就出现了下图所示的项目管理与文件编辑界面。
1.2 项目的文件组成和管理
在上图的项目管理与文件编辑界面中,项目左侧有两个子窗口,上方是目录树显示了项目内文件的组织结构,显示当前项目是Hello。项目的名称构成目录树的一个根节点,Qt Creator可以打开多个项目,但是只有一个活动项目(Active Project),活动项目的项目名称节点用粗体字表示。
在项目名称节点下面,分组管理着项目内的各种源文件,几个文件及分组分别为一下几项:
- Hello.pro是项目管理文件,包含一些对项目的设置项。
- Headers分组,该节点下是项目内的所有头文件(.h),上图所示项目中有一个主窗口类的头文件widget.h。
- Sources分组,该节点下是项目内所有的C++源文件(.cpp),上图有两个源文件,一个main.cpp是主函数文件,也是应用程序入口;一个widget.cpp是主窗口类的实现文件。
- Forms分组,该节点下是所有项目内的所有界面文件(.ui),界面文件是文本文件,使用XML语言。
此外Qt的设定,使用Qt中内置的类,包含的头文件的名字就和类名一致。此外,并不是所有Qt的类都需要显示包含头文件。C++中,头文件可能是“间接包含的”。一个Qt的类,先拿过来用,如果直接能用,说明对应的头文件已经间接被包含过了,无需显示包含。如果这个类提示找不到定义什么的,手动得显示把对应得头文件给包含一下。上图中,Q_OBJECT是一个Qt内置得宏,宏本质上是文本替换。Q_BOJECT展开之后,就会生成一大堆的代码。
双击上图的文件目录树中文件widget.ui,出现下图所示的窗口设计界面,该界面左侧是分组的组件面板,中间是设计的窗体,在组件面板的Display Widgets分组里,将一个
Label组件拖到设计窗体上,双击刚刚放入的Label组件,可以编辑其文字内容,将文字内容更改为“Hello World”。在窗口的右下角的属性编辑器里可以设置组件的属性。
Hello.pro是项目管理文件(.pro后缀的是项目管理文件,文件名就是项目名称),用于记录项目的一些设置,以及项目包含文件的组织管理。
"Qt += core gui"表示项目中加入core gui模块,core gui是Qt用于GUI设计的类库模块,如果创建的是控制台应用程序,就不需要添加core gui。
1.3 项目的编译、调试和运行
单击主窗口左侧的工具栏的项目按钮出现下图所示的**项目编译所示界面。该界面左侧栏的Build & Run**,显示了本项目中可用的编译器工具,我在安装编译器的时候只选择了MinGW 64bit编译器,因此图中只显示了一个编译器。编译器下又有Build和Run选项,对应两个设置界面。
在Build设置界面,有一个Shadow build复选框,如果勾选此项后,编译后将在项目的同级目录下建立一个编译后的文件目录,目录名称包含编译器信息。
具体多出的文件目录如下所示。这种方式一般用于使用不同编译器创建不通过版本的可执行文件。
如果不勾选Shadow build,编译后将在项目的目录下建立Debug和Release子目录用于存放编译后的文件。
主窗口左侧工具栏下四个按钮如下图所示:
Qt Creator也可以对程序设置断点进行调试,但是必须以Debug模式编译,并以Start Debugging(快捷键F5)方式运行程序。程序调试的方法与一般IDE工具类似。
在项目编辑器选择和设置界面中,勾选Shadow build,用Debug模式编译,结果显示如下图所示:
此外,在编译的过程中可能会发生设计界面出现控件文字显示不完全的问题:
只需要在Sources分组中的main.cpp文件中在main主函数首行中添加下列代码即可
QCoreApplication::setAttribute(Qt::AA_EnableHighDpiScaling);