一、说明
由于笔者习惯,今后的QT知识没有特殊说明都将采用visual stdio2017+QT演示。所以今天花一点时间解释下VS中QT工程的建立与解读
二、新建一个QT工程
1.首先打开VS
2.点击文件--新建--项目,然后按照下图选择。箭头所指解释如下
- 名称——即工程名称。当你想要完成一个具有某种功能的程序时,需要新建一个工程,并且为这个工程命名。工程名为此工程的唯一标志符。程序编写或者运行时所需要的任何文件都在工程目录下
- 位置——即你希望这个工程放在磁盘的那个位置,可以放在任何路径
3.选择必要的模块
其中默认勾选的都是写应用程序必要的模块。其余模块在将来的学习中会逐渐学习到
三、文件介绍
下面重点讲解三个文件。分别是“myFirstProject.h”、“myFirstProject.cpp”、“main.cpp”
- myFirstProject.h
#pragma once /*上面这句话相当于传统C++头文件中的 #ifndef MYFIRSTPROJECT_H #define MYFIRSTPROJECT_H ... #endif 二者的作用是等价的,都是为了避免重定义,一般默认加上 */ #include <QtWidgets/QWidget> //这是widget基类的定义,写图形界面时,如果用到QWidget需要包含此文件。后面会慢慢讲解QWidget等基类的作用 #include "ui_myFirstProject.h" //此头文件是编译器生成的,里面是包含程序默认界面生成时各种参数,在讲解“静态界面生成”的章节会讲解的 class myFirstProject : public QWidget //这是整个应用程序类,因为是有图形界面的,所以公有继承自QWidget类 { Q_OBJECT //这是一个宏,在写QT程序时,请注意添加。后面在“信号与槽”章节会说明作用 public: myFirstProject(QWidget *parent = Q_NULLPTR); //类的构造函数。当此类实例化的时候,会自动执行此函数 private: Ui::myFirstProjectClass ui; //定义私有变量ui,后面章节也会详细讲解 };
- myFirstProject.cpp
#include "myFirstProject.h" //在源文件中包含头文件
myFirstProject::myFirstProject(QWidget *parent): QWidget(parent) //用“初始化列表”的方法初始化类。参数暂时不用理会
{
ui.setupUi(this); //这个语句在“静态界面生成”章节会讲解的,暂时不用理会
}
- main.cpp
#include "myFirstProject.h" //下面用到了“myFirstProject类”,所以这里包含写有其定义的myFirstProject.h文件 #include <QtWidgets/QApplication> int main(int argc, char *argv[]) { QApplication a(argc, argv); myFirstProject w; //实例化myFirstProject类,定义程序对象w w.show(); //让程序显示出来 return a.exec(); //让消息能够循环,使得能够一直响应事件 } //如果读者想要知道各行语句的作用,最简单的办法就是注释掉那一行语句,看看程序会有什么变化