一、什么是Qt(熟悉)
Qt会被经常认为是一个基于C++语言的图形用户界面(GUI)的开发框架,可以用来开发图形用户界面的应用程序,以便于与用户进行人机交互,但是这并不是Qt的全部。
Qt除了可以绘制美观的界面外,还有很多传统编程的内容,例如多线程、数据库、图像处理、音视频处理、网络通信、文件读写等,这些功能Qt都内置了。
Qt本身可以开发纯软件产品,通常是一些软件的客户端,例如WPS、YY语音、暴雪战网、Skype、豆瓣电台、虾米音乐、淘宝助理、千牛、暴雪的战网客户端、VirtualBox、Opera、咪咕音乐、Google地图、Adobe Photoshop Album 等。
Qt在嵌入式开发中也扮演了重要的角色,广泛地应用于消费电子、工业控制、军工航天、汽车电子、医疗设备等行业。
二、Qt优势(熟悉)
优良的跨平台特性——一次编程,到处编译
面向对象开发
丰富的API
大量的开发文档
易用的开发环境
开源
......
三、开发环境
与之前C++的课程一样,依然使用Qt Creator作为IDE。
链接:百度网盘 请输入提取码
提取码:q0zc
教学使用版本
四、新建第一个Qt项目(掌握)
使用Qt Creator创建一个Qt项目的操作步骤如下。
1. 启动Qt Creator后,先把编码更改为UTF-8
2. 重新启动Qt Creator后,点击
3. 在弹出的窗口中,按照下图所示进行选择。
4. 在弹出的窗口中,设置项目的名称和路径后,点击“下一步”。
5. 在弹出的窗口中,直接点击“下一步”。
6. 在弹出的窗口中,按照下图所示进行操作。
7. 在项目管理窗口,直接点击“完成”。
8. 项目创建完成后,可以看到比C++项目文件多一些。
项目文件包含:
- .pro项目配置文件
用于配置项目参数,当项目运行时,会生成对应的.user文件。
#-------------------------------------------------
#
# Project created by QtCreator 2022-12-23T09:41:08
#
#-------------------------------------------------
# 引入核心模块与老的图形模块
QT += core gui
# 当项目的Qt主版本号大于4时,引入新的图形模块
greaterThan(QT_MAJOR_VERSION, 4): QT += widgets
# 可执行文件名称
TARGET = HelloWorld0938
# 当前项目的构建模式
TEMPLATE = app
# 项目中的源文件
SOURCES += main.cpp\
dialog.cpp
# 项目中的头文件
HEADERS += dialog.h
# 项目中的界面文件
FORMS += dialog.ui
- dialog.h 头文件
在Qt中头文件往往是一个类的声明,dialog.h是Dialog类的声明,Dialog类就是自定义的窗口类。
- dialog.cpp 源文件
在Qt中源文件往往是一个类的定义,dialog.cpp是Dialog类的定义。
- dialog.ui 界面文件
用于设计一个界面类外观的文件,dialog.ui是Dialog类的界面设计。
- main.cpp 源文件
程序的主文件,内部包含程序的入口函数,即主函数,通常不需要修改此文件。
#include "dialog.h"
#include <QApplication>
/**
* @brief main 程序的入口
* @return
*/
int main(int argc, char *argv[])
{
// 创建了一个QApplication类型的栈内存对象a
// 可以认为此对象是当前应用程序的管理者
QApplication a(argc, argv);
// 创建了一个Dialog类的栈内存对象w
// w是程序运行后显示的一个窗口对象 this指的就是w这个窗口对象
Dialog w;
// 显示
w.show();
return a.exec(); // 为什么窗口执行一下没有消失,因为该函数进入了程序的主事件循环
}
五、工作目录与构建目录(掌握)
工作目录是一开始新建项目时设定的目录,用于存放源代码文件与项目配置文件等。可以直接在Qt Creator中鼠标右键,点击在“Explorer中显示”打开此目录。
构建目录用于存放此项目在编译过程中生成的文件,例如数据库文件、可执行文件等。默认情况下,一个项目的工作目录与构建目录是分离的,构建目录的路径如下。
上图中有一个默认选中的影子构建模式,此模式表示工作目录与构建目录分离,如果项目运行有问题且排查不出问题原因,此时可以取消此选项,构建目录会合并到工作目录中,提高程序构建和运行的稳定性,通常不需要取消影子构建模式。
注意勾上后面的数据库生成的.db文件就会出现再构建目录中而不是再工作目录中
六、查看帮助文档(掌握)
学习Qt一定要结合帮助文档,打开帮助文档的方法有:
- 法一
在Windows中直接找到Assistant程序,启动。这种方法会启动一个独立的Assistant程序,适合在两个屏幕下同时进行代码编写和查询。
- 法二
在Qt Creator中,点击
,可以启动一个Qt Creator内置的Assistant程序。
- 法三
在代码编辑的过程中,光标定位到要查询的内容上,双击键盘F1键,可以直接跳转到要查询的内容对应的文档。
在帮助文档中查看一个类,需要留意以下部分内容。
七、调试函数(掌握)
调试函数类似于C++的输出函数cout,但是Qt中的调试函数只会把信息在程序后台输出给程序员显示,而用户不可见。
在使用调试函数之前,重新创建一个项目,要求把之前的第六步更改为下面的操作,以便于初学项目结构更加简洁。
这种方式创建的项目没有.ui界面文件,且dialog.h和dialog.cpp中的代码更加简洁。
dialog.h
#ifndef DIALOG_H
#define DIALOG_H
#include <QDialog>
// 引入调试函数的头文件
#include <QDebug>
/**
* @brief The Dialog class 自定义对话框窗口类
*/
class Dialog : public QDialog
{
Q_OBJECT
public:
Dialog(QWidget *parent = 0);构造函数
~Dialog();析构函数
};
#endif // DIALOG_H
dialog.cpp
#include "dialog.h"
Dialog::Dialog(QWidget *parent)
: QDialog(parent)//构造初始化列表
{
// Qt中的函数和变量使用驼峰命名法(小驼峰命名法)
// 第一个单词全小写,后面每个单词的首字母大写
qDebug() << "Dialog类" << "构造函数";
}
Dialog::~Dialog()
{
qDebug() << "Dialog类" << "析构函数";//调试函数类似于C++的输出函数cout
}