1.1 新建一个项目
添加项目名称:
选择Qwidget类,暂时不选择Generate form那个
补充(这里介绍了一下widget、mainWindow、dialog三种类的关系):
编译器用QT自带的:
创建完毕:
1.2 项目介绍
1.2.1 .pro文件
(1)打开项目文件夹
点击.pro文件,右键,选择”在Explorer中显示“,可以打开项目文件夹:
在之后的时间,若想再次编辑该项目,可以直接双击该.pro文件,自动打开QT编辑界面。
(2)这个.pro文件用 # 注释
(3)为QT添加模块
core——QT核心模块
gui——图形界面模块
因为在4.0版本之后,widgets模块就单独分离出来了,所以要单独添加。
(4)QT支持c++11新特性
(5)定义添加选项
1.2.2 main.cpp 程序入口
(1)头文件
(2)定义应用程序对象
(3)定义空窗口对象
(4)调用空窗口对象的子函数 show( )
show()函数是在程序运行后,用来显示出界面的。
(5)调用应用程序对象的消息循环函数 exec( )
exec( )这个函数使得程序循环,否则在运行时,就只会一闪而过
(6)完整程序
main.cpp
#include "Widget.h"
#include <QApplication> // 应用程序头文件
int main(int argc, char *argv[])
{
QApplication a(argc, argv); // 定义应用程序对象
Widget w; // 定义空窗口对象
w.show(); // 调用空窗口子函数 显示窗口(不调用这个函数,程序在运行时就没有窗口界面)
return a.exec(); // 调用应用程序对象 消息循环函数(没有这个函数,程序只会一闪而过)
}
1.2.3 Widget.h 头文件
(1)头文件卫士
(2)包含QWidget头文件
(3)继承QWidget,产生新的类Widget
(4)完整代码
Widget.h
#ifndef WIDGET_H
#define WIDGET_H // 头文件卫士
#include <QWidget> // 包含QT空窗口头文件
class Widget : public QWidget // 继承QWidget,定义一个新的类Widget
{
Q_OBJECT // 支持信号 和 槽
public:
Widget(QWidget *parent = nullptr); // 构造函数
~Widget(); // 析构函数
};
#endif // WIDGET_H
1.2.4 Widget.cpp源文件
(1)构造函数和析构函数的实现
(2)设置窗口标题:setWindowTitle( )
(3)设置窗口大小:resize( )
(4)固定窗口大小:setFixedSize( )
(5)完整代码
Widget.cpp
#include "Widget.h"
// 构造函数实现
Widget::Widget(QWidget *parent)
: QWidget(parent) // 初始化列表
{
// 设置窗口标题
this->setWindowTitle("hello QT");
// 设置窗口大小:宽400,高800
this->resize(400, 800);
// 固定窗口大小:宽150,200 (此时不能拖拽了放大缩小窗口了)
this->setFixedSize(150, 200);
}
// 析构函数实现
Widget::~Widget()
{
}
1.3 快捷键
(1)注释和解除注释
注释和解除注释:ctrl + /
(2)运行程序
运行:ctrl + r
(3)构建
构建:ctrl + b
(4)转到定义/声明切换
转到定义/声明切换:F2
(5)返回
返回:Atl + <——
(6)前进
前进:Atl + ——>