qt模块学习记录

qt模块学习记录

  • [一、Qt Core其他模块都用到的核心非图形类](#一、Qt Core其他模块都用到的核心非图形类)
  • [二、Qt GUI 设计 GUI 界面的基础类,包括 OpenGL](#二、Qt GUI 设计 GUI 界面的基础类,包括 OpenGL)
  • 三、功能模块
    • [Qt Network 使网络编程更简单和轻便的类](#Qt Network 使网络编程更简单和轻便的类)
    • [Qt SQL 使用 SQL 用于数据库操作的类](#Qt SQL 使用 SQL 用于数据库操作的类)
    • [Qt Multimedia 音频、视频、摄像头和广播功能的类](#Qt Multimedia 音频、视频、摄像头和广播功能的类)
  • 四、老式界面
    • [Qt Widgets 用于构建 GUI 界面的 C++ 图形组件类](#Qt Widgets 用于构建 GUI 界面的 C++ 图形组件类)
  • [五、现代界面:Qt Quick 全家桶](#五、现代界面:Qt Quick 全家桶)
    • [Qt QML 用于 QML 和 JavaScript 语言的类](#Qt QML 用于 QML 和 JavaScript 语言的类)
    • [Qt Quick 用于构建具有定制用户界面的动态应用程序的声明框架](#Qt Quick 用于构建具有定制用户界面的动态应用程序的声明框架)
    • [Qt Quick Controls 创建桌面样式用户界面,基于 Qt Quick 的用户界面控件](#Qt Quick Controls 创建桌面样式用户界面,基于 Qt Quick 的用户界面控件)
    • [Qt Quick Dialogs 用于 Qt Quick 的系统对话框类型](#Qt Quick Dialogs 用于 Qt Quick 的系统对话框类型)
    • [Qt Quick Layouts 用于 Qt Quick 2 界面元素的布局项](#Qt Quick Layouts 用于 Qt Quick 2 界面元素的布局项)
  • 六、媒体界面
    • [Qt Multimedia Widgets 实现多媒体功能的界面组件类](#Qt Multimedia Widgets 实现多媒体功能的界面组件类)
  • 七、测试
    • [Qt Test 用于应用程序和库进行单元测试的类](#Qt Test 用于应用程序和库进行单元测试的类)
  • 总之

一、Qt Core其他模块都用到的核心非图形类

c 复制代码
Qt Core = 提供界面无关的基础功能比如:
字符串
列表
时间
线程
信号槽(Qt 最核心机制)
事件循环
文件读写
配置读写
插件机制
它不画窗口、不显示按钮、不做界面!

二、Qt GUI 设计 GUI 界面的基础类,包括 OpenGL

c 复制代码
Qt GUI = 画布 + 画笔 + 窗口系统
它能做:
创建窗口
画点、线、矩形
处理鼠标 / 键盘
显示图片
支持 OpenGL
但它没有按钮、没有输入框、没有菜单。

三、功能模块

Qt Network 使网络编程更简单和轻便的类

c 复制代码
Qt Network = 网线 + 网卡 + 网络协议
它能干嘛?
发 HTTP 请求(访问网页)
TCP/IP 通信(两台电脑互相发数据)
UDP 广播
SSL 加密(https 那种安全加密)
OPC UA 底层通信也靠它!

Qt SQL 使用 SQL 用于数据库操作的类

c 复制代码
Qt SQL = 让 Qt 程序能读写数据库的一套工具支持所有主流数据库:
SQLite(嵌入式,无需安装)
MySQL
SQL Server
PostgreSQL
Oracle
c 复制代码
它能做什么?(超实用)
连接数据库
创建表
插入数据(存 OPC UA 采集值)
查询数据(历史记录、趋势图)
修改、删除数据
支持事务(保证数据安全)

Qt Multimedia 音频、视频、摄像头和广播功能的类

c 复制代码
Qt Multimedia = 底层音频、视频、摄像头、播放核心功能
能干什么?

 1. 播放音乐 
 2. 播放视频 
 3. 打开摄像头 
 4. 录音 
 5. 收音机 / 广播

负责:解码、播放、采集、控制。

四、老式界面

Qt Widgets 用于构建 GUI 界面的 C++ 图形组件类

c 复制代码
Qt Widgets = 现成的窗口、按钮、表格、树、滑块
它包含:
QMainWindow(主窗口)
QPushButton(按钮)
QTreeView(树,OPC UA Viewer 显示节点就是它)
QTableView(表格)
QLineEdit(输入框)
QMenu(菜单)

五、现代界面:Qt Quick 全家桶

Qt QML 用于 QML 和 JavaScript 语言的类

c 复制代码
Qt QML 模块 = 让 QML 界面能跑起来的引擎
Qt QML 模块做什么?

 1. 解析 QML 语法 
 2. 运行界面 
 3. 让界面和 C++ 通信 
 4. 支持 JavaScript 逻辑

Qt Quick 用于构建具有定制用户界面的动态应用程序的声明框架

c 复制代码
Qt Quick= 动态界面的底层核心(画布 + 引擎)或者一块灵活的动态画布
作用:
提供最基础的界面元素
支持动画、过渡、触摸、自定义 UI
可以自己画按钮、窗口、界面

Qt Quick Controls 创建桌面样式用户界面,基于 Qt Quick 的用户界面控件

c 复制代码
Qt Quick Controls= 现成的界面控件(按钮、输入框、开关、列表)专门给 Qt Quick 用。
包含:
Button(按钮)
TextField(输入框)
Slider(滑块)
Switch(开关)
Label(文字)

Qt Quick Dialogs 用于 Qt Quick 的系统对话框类型

c 复制代码
Qt Quick Dialogs= 弹出框(文件选择、消息框、确认框),就是弹出的小窗口。
比如:

 1. 打开文件 
 2. 保存文件 
 3. 提示 "确定要删除吗?" 
 4. 报错提示框

Qt Quick Layouts 用于 Qt Quick 2 界面元素的布局项

c 复制代码
Qt Quick Layouts= 自动排版工具(让界面不乱),不用手动算坐标,界面自动整齐。
作用:
自动排列按钮
窗口拉伸时控件自动适应
垂直布局、水平布局、网格布局

六、媒体界面

Qt Multimedia Widgets 实现多媒体功能的界面组件类

c 复制代码
Qt Multimedia Widgets = 显示窗口(画面、视频框)

七、测试

Qt Test 用于应用程序和库进行单元测试的类

c 复制代码
Qt Test = 专门给 Qt 程序写【单元测试】的工具

总之

c 复制代码
                     你的应用程序
                              ↓
┌───────────────────────────────────────────┐
│ 功能模块                                  │
│    ├─ Qt OPC UA        工业设备通信        │
│    ├─ Qt Network       网络通信           │
│    ├─ Qt SQL           数据库             │
│    ├─ Qt Multimedia    音视频/摄像头      │
│    └─ Qt Test          单元测试(测代码) │
└───────────────────────────────────────────┘
                              ↓
┌───────────────────────────────────────────┐
│ 界面两大分支                              │
│    ├─ Qt Widgets        传统桌面界面      │
│    │                                    │
│    └─ Qt Quick 全家桶    现代动态界面     │
│        ├─ Qt Quick        核心引擎        │
│        ├─ Qt QML          QML语言解析    │
│        ├─ Qt Quick Controls 按钮/控件    │
│        ├─ Qt Quick Dialogs  弹出对话框   │
│        └─ Qt Quick Layouts  界面排版     │
└───────────────────────────────────────────┘
                              ↓
┌───────────────────────────────────────────┐
│ Qt GUI              底层画图、窗口、事件   │
└───────────────────────────────────────────┘
                              ↓
┌───────────────────────────────────────────┐
│ Qt Core             核心基础(所有都靠它) │
└───────────────────────────────────────────┘

做 OPC UA 客户端 / 工控软件:
Core → GUI → Widgets → Network → 软件
做 现代触摸屏界面:
Core → GUI → QML → Quick → ... → Network → 软件
相关推荐
wixzjsh12 分钟前
TCP通信与HTTP协议学习笔记:粘包、三次握手、四次挥手与C/S、B/S模型
学习·tcp/ip·http
ZhiMuZhiLing14 分钟前
拓客软件学习成本实测方法论:从注册到出第一批名单要多久
学习·流量运营·用户运营
宸津-代码粉碎机27 分钟前
AI攻防战升级!基于Spring AI构建Java应用自动免疫安全体系
java·大数据·开发语言·人工智能·python·安全·spring
程序员大雄学编程1 小时前
微积分46. 无穷级数四大核心性质:从理论到实践的全方位解析
python·学习·微积分·学习工具
LorryJovens2 小时前
【LAAP科研】CEN因果等价网络理论---从双缝干涉到因果等价
开发语言·php
Brilliantwxx3 小时前
【Linux】 进程(10) 进程控制深度解析:创建、终止与等待
linux·运维·服务器·c语言·开发语言·网络
指针常量3 小时前
【RL系列文章】难样本学习等
学习·大语言模型·rl·后训练
wuyk5553 小时前
从零吃透Modbus通信|第7章:终极工程整合(模块化架构、双模式主机从机、RTOS适配、量产级模板)
c语言·stm32·学习·架构
卢锡荣4 小时前
国产PD3.1全集成Type-C管控芯片LDR6020P
c语言·开发语言
Freak嵌入式4 小时前
Pico UART 数据收发实战:硬件配置、MicroPython 编程
java·开发语言·单片机·嵌入式硬件·生活