什么是Qt?
QT 就是一个跨平台的C++ 图像用户界面库,里面提供了大量的图形界面类让用户使用,用户利用QT可以快速的开发出
GUI(Graphics User Interface)图形用户界面程序软件。
QT 的特点就是跨平台性很强,一个QT界面程序可以在不同的平台上运行例如:window,Linux,IOS,Android,ARM 。
C++ 常见开源库
Qt :跨平台的应用程序和用户界面框架
OpenSSL : 一个强大的,商用的,功能齐全的,开放源代码的加密库。
SQLite:一个完全嵌入式的,功能齐全的关系数据库,只有几百KB,可以正确包含到你的项目中。
OpenCV : 开源计算机视觉类库
JSON++ : C++ JSON 解析器
FFmpeg :一个完整的,跨平台的解决方案,用于记录,转换视频和音频流
libcurl :多协议文件传输库
QT 软件安装
Qt | 软件开发全周期的各阶段工具 官方的下载地址
Qt开源社区-致力于Qt普及工作! - qt qml linux 嵌入式 教程! (qter.org) 国内中文社区
双击安装即可
创建第一个QT工程
1、新建工程
2、设置工程路径和名称
3、设置基类
QT工程代码分析
main.cpp 主函数
//添加用户自定义头文件
#include "mainwindow.h"
//添加qT应用头文件
#include <QApplication>
int main(int argc, char *argv[])
{
//创建qt 应用对象
QApplication a(argc,argv);
//定义一个主窗口对象
MainWindow w;
//调用显示方法
w.show();
//执行应用
return a.exec();
}
xxx.pro 工程配置文件
#添加QT的模块,所有的QT类都封装在不同的模块中
QT += core gui
greaterThan(QT_MAJOR_VERSION, 4): QT += widgets
#使用C++11 语法进行编译
CONFIG += c++11
#开启警告信息
DEFINES += QT_DEPRECATED_WARNINGS
#设置源文件
SOURCES += \
main.cpp \
mainwindow.cpp
#添加头文件
HEADERS += \
mainwindow.h
#添加窗体文件
FORMS += \
mainwindow.ui
#部署的默认规则.
qnx: target.path = /tmp/$${TARGET}/bin
else: unix:!android: target.path = /opt/$${TARGET}/bin
!isEmpty(target.path): INSTALLS += target
xxxx.h 头文件
#ifndef MAINWINDOW_H
#define MAINWINDOW_H //宏定义,防止头文件重复包含
//添加QT主窗体头文件
#include <QMainWindow>
//声明命名空间宏定义
QT_BEGIN_NAMESPACE
//定义声明一个命名空间
namespace Ui {
//声明一个MainWindow
class MainWindow;
}
QT_END_NAMESPACE
//自定义一个MainWindow类,继承QMainWindow 类
class MainWindow : public QMainWindow
{
//QT信号与操的声明
Q_OBJECT
public:
MainWindow(QWidget *parent = nullptr); //构造函数
~MainWindow(); //析构函数
private:
Ui::MainWindow *ui; //定义一个指向UI -> MainWindow 的ui指针 ,把UI 窗口 与 MainWindow 类分离
};
#endif // MAINWINDOW_H
xxxx.cpp 窗体源文件
//添加自定义mainwindow.h
#include "mainwindow.h"
//通过mainwindow.ui自动生成的头文件
#include "ui_mainwindow.h"
//构造函数参数列表初始化 调用基类构造 初始化类中的UI指针
MainWindow::MainWindow(QWidget *parent): QMainWindow(parent) , ui(new Ui::MainWindow)
{
//调用 ui 里面的setupUi 函数
ui->setupUi(this);
}
//析构函数
MainWindow::~MainWindow()
{
delete ui;
}
xxxx.ui 界面设计文件
用于设计用户界面->自动生成 ui_mainwindow.h 文件。