文章目录
一、QT 安装
二、为什么学 QT
三、QT 应用程序框架
1. QT Creater
2. 新建一个 QT 应用程序
3. QT 代码框架详解
3.1 main.cpp
3.2 myWidget.h
3.3 day1.pro
4. QT 基本模块
四、第一个 QT 程序
1. 准备工作
1.1 项目创建
1.2 主函数框架测试
2. 设置窗口标题
2.1 main.cpp
2.2 运行结果
3. 添加按钮
3.1 main.cpp
3.2 运行结果
由于每次代码都是在原有程序上修改,因此除了新建项目,不然一般会在学完后统一展示代码。
一、QT 安装
- 本人直接用同学的安装包进行安装的,版本为 QT5.12 。大家可以在 CSDN 或者 B站 上看别人的安装教程,都做的很详细。
二、为什么学 QT
学习GUI编程,市场上任何一款产品几乎都带图形界面,市场上很火的 Android 、IOS 编程无非也是 GUI app 编程,GUI 编程都是差不多,学习QT 后再学习 Android、IOS,会比较轻松。由于 QT 跨平台特性,通过 QT 写的程序可以在 Android、IOS平台上运行。
- 锻炼编程能力,GUI 编程比后台编程更能锻炼人,因为除了核心数据处理外,还需要协调界面,同时懂得前端和后台编程,才能更好地写好程序。
- 为了更好地使用 C++ ,学习 QT 的框架(QT 是 C++ 实现的应用程序框架),很多游戏、后台服务器框架都是使用 C++ 实现。
QT 的良好封装机制使得 QT 的模块化程度非常高,可重用性较好,对于用户开发来说是非常方便的。QT 提供了一种称为 signals/slots 的安全类型来替代 callback,这使得各个元件之间的协同工作变得十分简单。
QT 包括多达 250 个以上的 C++ 类,还提供基于模板的 collections, serialization, file, I/O device, directory management, date/time 类。甚至还包括正则表达式的处理功能。
三、QT 应用程序框架
1. QT Creater
2. 新建一个 QT 应用程序
我们一般选用 QWidget。
3. QT 代码框架详解
- 具体解释均已注释在代码当中。
3.1 main.cpp
#include "mywidget.h" // QApplication 是应用程序类 // QT 头文件没有 .h // 头文件和类名一样 #include <QApplication> int main(int argc, char *argv[]) { // 固定框架,有且只有一个应用程序类的对象 QApplication a(argc, argv); // myWidget继承于QWidget,QWidget是一个窗口基类 // 所以myWidget也是窗口类 // w就是一个窗口 myWidget w; // 窗口创建默认是隐藏的,需要人为显示 w.show(); // a.exec()让程序一直执行,等待用户操作 return a.exec(); }
3.2 myWidget.h
//快捷键 f4 可以跳转对应的 .c 文件。 #ifndef MYWIDGET_H #define MYWIDGET_H #include <QWidget> class myWidget : public QWidget { Q_OBJECT // 信号与槽的时候需要 public: myWidget(QWidget *parent = 0); ~myWidget(); }; #endif // MYWIDGET_H
3.3 day1.pro
# 一个程序对应一个 .pro 文件,在 .pro 文件当中,注释是 # # 模块 QT += core gui # 高于4版本,添加 QT += widgets,为了兼容 QT4 greaterThan(QT_MAJOR_VERSION, 4): QT += widgets # 应用程序的名字 TARGET = day1 # 指定 makefile 的类型,app TEMPLATE = app # 源文件 .cpp 文件 SOURCES += \ main.cpp \ mywidget.cpp # 头文件 .h 文件 HEADERS += \ mywidget.h
4. QT 基本模块
四、第一个 QT 程序
1. 准备工作
1.1 项目创建
- 这里需要注意:
- 后续步骤与前文相同。
- 后续添加 C++ 源文件和头文件步骤与 VS2022 相同,在此不过多叙述,需要注意源文件是 .cpp,头文件是 .h 。
1.2 主函数框架测试
2. 设置窗口标题
2.1 main.cpp
#include <QApplication> #include <QWidget> //窗口空间基类 int main(int argc,char **argv) { QApplication app(argc,argv); QWidget w; w.setWindowTitle("主要看气质"); //设置标题 w.show(); return app.exec(); }
2.2 运行结果
3. 添加按钮
3.1 main.cpp
- 知识点和注意事项以注释的方式在代码当中。
3. 添加按钮 3.1 main.cpp 知识点和注意事项以注释的方式在代码当中。 #include