第一个Qt程序

1、新建项目

  • 步骤:打开Qt Creator,文件->新建文件或项目->选择Application下的Qt Widgets Application,如图1所示
    PS:Qt Widgets Application支持桌面平台的有图形用户界面(Graphic User Interface,GUI) 的应用程序。GUI 的设计完全基于 C++ 语言,采用 Qt 提供的一套 C++ 类库。
    第一个Qt程序_第1张图片

  • 在图 1 显示的对话框中选择项目类型为 Qt Widgets Application 后,单击“Choose…”按钮,出现如图 2 所示的新建项目向导:
    第一个Qt程序_第2张图片

  • 在图 2 中,选择一个目录,如“F:\work\QtDemo”,再设置项目名称为 Demo2, 这样新建项目后,会在“F:\work\QtDemo”目录下新建一个目录,项目所有文件保 存在目录“F:\work\QtDemo\demo2”下。

  • 在图 2 中设置好项目名称和保存路径后,单击“Next”按钮,出现如图 3 所示的选择编译工具的界面:
    第一个Qt程序_第3张图片

  • 可以将这几个编译工具都选中,在编译项目时再选择一个作为当前使用的编译工具,这样可以编译生成不同版本的可执行程序。

  • 在图 3 显示的界面中单击“Next”按钮,出现如图 4 所示的界面。在此界面中选择需要创建界面的基类(base class)。有 3 种基类可以选择:

  • 1、QMainWindow 是主窗口类,主窗口具有主菜单栏、工具栏和状态栏,类似于一般的应用程序的主窗口;

  • 2、QWidget是所有具有可视界面类的基类,选择 QWidget 创建的界面对各种界面组件都可以 支持;

  • 3、QDialog是对话框类,可建立一个基于对话框的界面;

  • 在此选择 QMainWindow 作为基类,自动更改的各个文件名不用手动去修改。勾选“创建界面”复选框。这个选项如果勾选,就会由 Qt
    Creator 创建用户界面文件,否则,需要自己编程手工创建界面。初始学习,为了了解 Qt Creator 的设计功能,勾选此选项。

  • 然后单击“Next”按钮,出现一个页面,总结了需要创建的文件和文件保存目录,单击“完成”按钮就可以完成项目的创建,如图5所示。
    第一个Qt程序_第4张图片
    第一个Qt程序_第5张图片

2、项目的文件组成和管理

  • 完成了以上新建项目的步骤后,在 Qt Creator 的左侧工具栏中单击“编辑”按钮,可显示如图 6 所示的窗口。
    第一个Qt程序_第6张图片
  • 窗口左侧有上下两个子窗口,上方的目录树显示了项目内文件的组织结构,显示当 前项目为 demo2。项目的名称构成目录树的一个根节点,Qt Creator 可以打开多个项目,但是只有一个活动项目,活动项目的项目名称节点用粗体字体表示。
  • 在项目名称节点下面,分组管理着项目内的各种源文件,几个文件及分组分别为以下几项:
  • 1、demo2.pro 是项目管理文件,包括一些对项目的设置项。内容如下:
 QT       += core gui
greaterThan(QT_MAJOR_VERSION, 4): QT += widgets
TARGET = demo2
TEMPLATE = app
DEFINES += QT_DEPRECATED_WARNINGS
CONFIG += c++11
SOURCES += \
        main.cpp \
        widget.cpp
HEADERS += \
        widget.h
FORMS += \
        widget.ui

  • 项目管理文件用于记录项目的一些设置,以及项目包含文件的组织管理。
  • “Qt += core gui”表示项目中加入 core gui 模块。core gui 是 Qt 用于 GUI 设计的类库模块,如果创建的是控制台(Console)应用程序,就不需要添加 core gui。
  • Qt 类库以模块的形式组织各种功能的类,根据项目涉及的功能需求,在项目中添加适当的类库模块支持。例如,如果项目中使用到了涉及数据库操作的类就需要用到 sql 模块,在 pro 文件中需要增加如下一行:Qt +=sql
  • greaterThan(QT_MAJOR_VERSION, 4): QT += widgets:这是个条件执行语句,表示当 Qt 主版本大于 4 时,才加入 widgets 模块。
  • “TARGET = demo2”表示生成的目标可执行文件的名称,即编译后生成的可执行文件是 demo2.exe。
  • “TEMPLATE = app”表示项目使用的模板是 app,是一般的应用程序。
  • 后面的 SOURCES、HEADERS、FORMS 记录了项目中包含的源程序文件、头文件和窗体文件(.ui 文件)的名称。这些文件列表是 Qt Creator 自动添加到项目管理文件里面的,用户不需要手动修改。当添加一个文件到项目,或从项目里删除一个文件时,项目管理文件里的条目会自动修改。
  • 2、Headers 分组,该节点下是项目内的所有头文件(.h),图 6中所示项目有一个头文件 mainwindow.h,是主窗口类的头文件.
  • 3、Sources 分组:该节点下是项目内的所有C++源文件(.cpp),图6 中所示项目有两个 C++ 源文件,mainwindow.cpp 是主窗口类的实现文件,与mainwindow.h 文件对应。main.cpp 是主函数文件,也是应用程序的入口。 以下是main.cpp的内容:
 #include "widget.h"
#include 
int main(int argc, char *argv[])
{
    QApplication a(argc, argv); //定义并创建应用程序
    MainWindow w; //定义并创建窗口
    w.show(); //显示窗口
    return a.exec(); //应用程序运行
}
  • main() 函数是应用程序的入口。它的主要功能是创建应用程序,创建窗口,显示窗口,并运行应用程序,开始应用程序的消息循环和事件处理。

  • QApplication 是 Qt 的标准应用程序类,第 1 行代码定义了一个 QApplication 类的实例 a,就是应用程序对象。

  • 然后定义了一个 Widget 类的变量 w,Widget 是本实例设计的窗口的类名,定义此窗口后再用 w.show() 显示此窗口。

  • 最后一行用 a.exec() 启动应用程序的执行,开始应用程序的消息循环和事件处理。

  • 4、Forms分组:该节点下是项目内的所有界面文件(.ui)。图6中所示项目有一个界面文件mainwindow.ui,是主窗口的界面文件。界面文件是文本文件,使用 XML 语言描述界面的组成。

  • 双击文件目录树中的文件mainwindow.ui,出现如图 7所示的窗体设计界面:
    第一个Qt程序_第7张图片

  • 1、添加一个label和pushButton,修改label的text属性值为hello,world;pushButton的objectName为btnClose,text为Close,如图8所示。
    第一个Qt程序_第8张图片

  • 2、编辑完属性之后,再为 btnClose 按钮增加一个功能,就是单击此按钮时,关闭窗口,退出程序。使用 Signals 和 Slots 编辑器完成这个功能,如图 9 所示。在信号与槽编辑器的工具栏上单击“Add”按钮,在出现的条目中,Sender 选择 btnClose,Signal 选择 clicked(),Receiver 选择窗体 MainWindow,Slot 选择 close()。这样设置表示当按钮 btnClose 被单击时,就执行 Widget 的 close() 函数,实现关闭窗口的功能。
    第一个Qt程序_第9张图片

3、项目的编译、调试与运行

  • 单击主窗口左侧工具栏上的“项目”按钮,出现如图 10 所示的项目编译设置界面。

第一个Qt程序_第10张图片

  • 界面左侧一栏的“Build &Run”下面显示了本项目中可用的编译器工具,要使用哪一个编译器用于项目编译,单击其名称即可,选择的编译器名称会用粗体字表示。这里选择使用MSVC2017 64bit编译器。

  • 每个编译器又有 Build 和 Run 两个设置界面。在 Build 设置界面上,有一个“Shadow build”复选框。如果勾选此项,编译后将在项目的同级目录下建立一个编译后的文件目录,目录名称包含编译器信息,这种方式一般用于使用不同编译器创建不同版本的可执行文件。如果不勾选此项,编译后将在项目的目录下建立“Debug”和“Release”子目录用于存放编译后的文件。

  • 在设计完 mainwindow.ui 文件,并设置好编译工具之后,就可以对项目进行编译、调试或运行。主窗口左侧工具栏下方有 4个按钮,其功能见表 1。
    第一个Qt程序_第11张图片

  • 首先对项目进行编译,没有错误后,再运行程序。程序运行的界面如图 12所示。这就是一个标准的桌面应用程序,我们采用可视化的方式设计了一个窗口,并在上面显示了字符串“hello, world”,点击按钮close,关闭窗口。
    第一个Qt程序_第12张图片

  • 在 Qt Creator 中也可以对程序设置断点进行调试,但是必须以 Debug 模式编译,并以“Start Debugging”(快捷键 F5)方式运行程序。

你可能感兴趣的:(Qt,qt)