一、下载QT
QT下载步骤:【保姆级图文教程】QT下载、安装、入门、配置VS Qt环境-CSDN博客
这个博主讲解的非常详细,配图以及每个细节,亲测有效。我下载的是6.5.3版本的QT,当然也可以使用老版本。大差不差。
二、认识QT
界面最上方是工具栏,自己摸索就可以了。
左侧功能栏从上到下依次是:
主界面:可以进行创建项目、打开项目、查看历史项目、demo案例视频
编辑页面:打开项目后才能点击,否则是灰色的无法点击。对项目的代码等信息进行修改编辑等
调试界面:项目加断点后,点击调试,可以按步骤进行,大家应该都能理解
设置:就是项目的一些设置以及配置,界面长这个样子:
扩展Extensions:安装扩展插件的地方
帮助文档:QT内部封装了一系列的类和函数,不熟悉使用方法时可以点击筛查,然后进行使用
左下角的三个分别是调试,编译并运行,编译,构建项目(就是检测项目是否有错误)
下载完毕之后,会有很多附带的应用程序,你需要找的是:(看下面这个图标以及名字)
三、QT项目创建
双击打开后是这个界面:我们需要点击创建项目
点击之后会弹出以下界面:我们一开始学习使用的是红框选中的,widgets是窗口组件的意思。
然后根据左面的步骤创建项目,第一步就是命名以及选择保存路径
第二步是:选择系统框架,我们选择的是qmake。
第三步是类的信息细节选项:包括类名,基类,头文件,源文件,界面文件。我们一开始不选择ui界面文件,把generate form选项勾掉。其中头文件和源文件会根据我们的类名进行自动匹配。一般我们只要更改类名,以及选择基类就可以了。其中基类有三个选项:我们一开始的学习还是学习Widget的这个。
第四步:语言翻译文件,不用管,下一步。你也可以选择chinese,我现在还不知道有啥用。
第五步:选择构建的套件,也就是选择你要是用的框架,我们选择的是MSVC版本的,这里的可供选项一般取决于你安装时下载的版本个数。而且这里debug选项必选,其他的不知道建议也选上。
最后就是汇总,你可以看到你需要添加的文件以及路径,还可以选择是否载入git。这些初始文件我们一会再作介绍。耐心观看。这一步确认之后就直接点完成就好了。
四、默认文件解析
创建好项目后,我们可以看到,左侧项目栏出现了一个新的项目文件teachCSDN,包括一个pro文件,一个头文件和两个源文件。下面我们一一介绍。
①.pro文件
注意:pro=project:工程的缩写,工程文件我们不要随意写代码,尤其是中文。除非你知道你在写什么东西,否则不要动这个文件里面的代码。
在下面我们可以看到文件格式长这样,我们一行一行认识:
1 QT += core gui
第一行:加载模块,该QT文件载入core核心模块,gui是构建图形界面应用程序的关键模块之一。
下面给出QT5以上支持的基本模块,其中widgets模块是QT4以上的版本从GUI模块中抽离出来并修改的单独的模块。所以我们就可以理解第三行代码了。
3 greaterThan(QT_MAJOR_VERSION, 4): QT += widgets
第三行: 如果版本大于4,就载入widgets模块。
5 CONFIG += c++17
第五行:配置开发语言,很好理解。就是配置开发语言中加入C++17标准。config这个单词很常见的,就是配置的意思。
7 # You can make your code fail to compile if it uses deprecated APIs.
8 # In order to do so, uncomment the following line.
9 #DEFINES += QT_DISABLE_DEPRECATED_BEFORE=0x060000 # disables all the APIs deprecated before Qt 6.0.0
7-9行:一些Qt给你的提示信息,翻译一下看看就OK了
11 SOURCES += \
12 main.cpp \
13 widget.cpp
14
15 HEADERS += \
16 widget.h
11-16行:源文件包括哪些,头文件包括哪些。如果你自己添加头文件和源文件,pro文件会自动添加,不需要你手动修改增加。每个文件以\开头,回车,文件名及后缀组成。
18 # Default rules for deployment.
19 qnx: target.path = /tmp/$${TARGET}/bin
20 else: unix:!android: target.path = /opt/$${TARGET}/bin
21 !isEmpty(target.path): INSTALLS += target
19-21行:默认部署规则,target:目标,path:路径。qnx,unix,android是不同的操作系统,因为不同的操作系统的规定的目录名称有区别,这个在学习Linux时就知道了。将路径设置好,如果设置成功,路径就非空,那么就可以部署了。installs:下载安装。(学好英语,或者多认识一些专业英语,是很有必要的)
②.h及对应的.cpp文件
这玩意就是我们平常写C++文件时的分离式编译文件
//.h
#ifndef WIDGET_H
#define WIDGET_H
#include <QWidget>
class Widget : public QWidget
{
Q_OBJECT
public:
Widget(QWidget *parent = nullptr);
~Widget();
};
#endif // WIDGET_H
//.cpp
#include "widget.h"
Widget::Widget(QWidget *parent)
: QWidget(parent)
{}
Widget::~Widget() {}
唯一需要注意的就是继承时,选择使用父类的构造函数来初始化来自父类的继承的成员。好好看看继承那块的知识,不难理解。
③main.cpp文件
在Qt框架中,main.cpp
文件通常是项目的入口点,包含程序的主函数。
#include "widget.h"//包含头文件
#include <QApplication>//application:应用程序,Qt提供的头文件
//argc命令行参数的个数
//agrv[]命令行参数
int main(int argc, char *argv[])
{
//以应用程序的方式建立一个a对象,传入命令
QApplication a(argc, argv);
Widget w;//建立一个widget窗口对象
w.show();//show显示窗口
return a.exec();//用于阻塞程序,只有当w的close事件响应时才退出整个程序。
}
以下是一个典型的main.cpp
文件的结构和讲解:(非默认文件)
#include <QCoreApplication>
#include <QGuiApplication>
#include <QApplication>
#include <QPushButton>
#include <QWidget>
int main(int argc, char *argv[]) {
// 创建应用程序对象
// QCoreApplication适用于控制台应用程序
// QGuiApplication适用于没有窗口部件的GUI应用程序
// QApplication适用于需要使用窗口部件的GUI应用程序
QApplication app(argc, argv);
// 创建一个主窗口
QWidget window;
window.resize(320, 240); // 窗口的大小
window.setWindowTitle("Qt Example"); // 窗口的标题
// 创建一个按钮并设置其文本
QPushButton button("Hello, Qt!", &window);
button.resize(100, 30); // 设置按钮的大小
button.move(110, 105); // 设置按钮在窗口中的位置
// 显示窗口
window.show();
// 启动应用程序的事件循环
return app.exec();
}
该实例中头文件包含:
#include <QCoreApplication>
: 如果是控制台应用程序,可以引入此头文件。#include <QGuiApplication>
: 用于没有窗口部件的GUI应用程序。#include <QApplication>
: 用于有窗口部件的GUI应用程序,通常是大多数Qt GUI应用程序使用的类。#include <QPushButton>
和#include <QWidget>
: 包含Qt GUI组件相关的头文件。
主函数:
int main(int argc, char *argv[])
: 程序的入口。argc
是命令行参数的数量,argv
是命令行参数的数组。
创建应用程序对象:
QApplication app(argc, argv);
: 初始化Qt应用程序对象,负责管理应用程序的控制流和主要设置。
创建主窗口:
QWidget window;
: 创建一个窗口实例。window.resize(320, 240);
: 设置窗口的大小。window.setWindowTitle("Qt Example");
: 设置窗口的标题。
创建按钮:
QPushButton button("Hello, Qt!", &window);
: 创建一个按钮,文本为"Hello, Qt!",并将其父级设置为之前创建的窗口。button.resize(100, 30);
: 设置按钮的大小。button.move(110, 105);
: 设置按钮在窗口中的位置。
显示窗口:
window.show();
: 显示创建的窗口。
启动事件循环:
return app.exec();
: 启动Qt的事件循环,等待用户的输入和事件。这是Qt程序持续运行的关键,它会处理所有的事件和信号。
main.cpp
文件是Qt应用程序的基础,负责初始化应用程序环境、创建主要的图形用户界面元素(如窗口和按钮),并启动应用程序的事件循环。通过理解这个文件的结构,可以更好地构建和扩展Qt应用程序的功能。
五、QT常用快捷键
-
文件操作
- 新建文件:
Ctrl + N
- 打开文件:
Ctrl + O
- 保存文件:
Ctrl + S
- 另存为:
Ctrl + Shift + S
- 关闭文件:
Ctrl + W
- 新建文件:
-
编辑操作
- 撤销:
Ctrl + Z
- 重做:
Ctrl + Shift + Z
- 剪切:
Ctrl + X
- 复制:
Ctrl + C
- 粘贴:
Ctrl + V
- 全选:
Ctrl + A
- 撤销:
-
导航
- 跳转到文件:
Ctrl + Shift + O
- 跳转到符号:
Ctrl + Shift + M
- 查找:
Ctrl + F
- 替换:
Ctrl + R
- 查看定义:
F2
- 查看声明:
Ctrl + Alt + F2
- 返回到上一个编辑位置:
Ctrl + -
或Ctrl + Shift + -
- 跳转到文件:
-
构建和运行
- 构建项目:
Ctrl + B
- 运行项目:
Ctrl + R
- 停止调试:
Ctrl + Shift + F5
- 调试项目:
F5
- 单步调试:
F10
- 进入函数调试:
F11
- 跳出函数调试:
Shift + F11
- 构建项目:
-
调试
- 调试开始/继续:
F5
- 调试停止:
Ctrl + Shift + F5
- 单步执行:
F10
- 逐行执行:
F11
- 查看变量:
Shift + F10
- 添加断点:
F9
- 调试开始/继续:
-
窗口操作
- 切换到代码编辑器:
Ctrl + 1
- 切换到项目视图:
Ctrl + 2
- 切换到调试视图:
Ctrl + 3
- 切换到工具视图:
Ctrl + 4
- 切换到代码编辑器:
-
其他
- 打开帮助:
F1
- 代码格式化:
Ctrl + I
- 显示代码提示:
Ctrl + Space
- 生成文档:
Ctrl + D
- 打开帮助:
除此以外
上述常用:F1查看帮助文档,Ctrl + i 快速对齐,Ctrl + r运行,F5调试,F10单步调试。还有什么Ctrl c/v/x/z进行复制粘贴剪切撤销等操作。
F4:用于快速切换.cpp和.h文件,加入你当前在student.h文件中,按下键盘的F4,你就会跳转到student.cpp文件中,反之亦然。
Ctrl + /:用于快速注释当前选中内容,以及取消注释当前选中内容
Ctrl + Shift + ↑:用于将整行代码移动到上一行
Ctrl + Shift + ↓:用于将整行代码移动到下一行
感谢大家,欲知后续如何,且看下文讲解!