文章目录
IDE用法
需要掌握的知识点主要包括以下两方面:
1.IDE的基本用法,以及如何自定义和使用各种快捷键
2.各种工具使用: Qt Assistant QT助手 、 Qt Designer QT设计器 、 Qt Linguist QT语言家
基本界面实现
基本控件和窗体
1.基本控件的使用: QWidget、QPushButton、QLabel、QLineEdit等
2.对话框QDialog(模态对话框-->阻碍相应/非模态对话框)
3.标准对话框: QColorDialog/QFileDialog/QMessageBox/QFontDialog/QErrorMessage等
控件布局和定位
QHBoxLayout(水平布局)、QVBoxLayout(垂直布局)、QGridLayout(网格布局)、QFormLayout、QStackedLayout(栈布局管理器)
QSpitter(窗口分割器)
应用程序主窗口
组成部分: 菜单栏、工具栏、中心部件、状态栏、Docke窗口
界面外观样式实现
通过样式表QSS实现自定义样式(透明窗体、透明圆角等)
Qt窗口实现圆角阴影效果
QT自定义控件的悬浮样式实现
QT自动适配高分屏的解决方案
事件系统实现
1.鼠标事件、键盘事件、定时器事件(点击、悬浮、拖拽)
2.事件的过滤和发送
控件窗体关联通信
1.信号和槽通信机制(DirectConnection、QueuedConnection)
2.属性系统(传递数据、指定样式等)
3.元对象系统
QT中使用function+lambda来替代繁琐的信号绑定
图形动画
2D图形绘制
1.重写paint事件
- 绘制文本、图像、路径(绘制-填充-渐变-抗锯齿等)
3D图形绘制
1.OpenGL绘制三维模型
2.OpenGL绘制纹理、截图等
采用QT进行OpenGL开发(一)绘制平面图形
采用QT进行OpenGL开发(二)绘制立方体
采用QT进行OpenGL开发(三)着色器编程
使用Qt进行OpenGL开发-绘制简单矩形
Qt OpenGL绘制旋转的立方体
Qt OpenGL 绘制复合纹理图样
Qt OpenGL二次渲染实现滤镜效果
Qt OpenGL实现截图的方法大汇总
图形视图框架
1.视图、场景、图元
2.坐标体系事件处理
QGraphicsScene中嵌入自定义窗口
QGraphicsView通过鼠标操作来绘制图元
QGraphicsView图形视图框架使用(一)坐标变换
QGraphicsView图形视图框架使用(二)图形交互
QGraphicsView图形视图框架使用(三)位移变换和图元定位
QGraphicsView图形视图框架使用(四)自定义Item
QGraphicsView图形视图框架使用(五)渲染优化
QGraphicsView图形视图框架使用(六)图元动画
QGrahicsView中视图定位-状态重绘-碰撞监测-层次关系
动画状态切换
1.单一动画
- QPropertyAnimation
2.动画组
- QSequentialAnimationGroup(串联动画)、QParallelAnimationGroup(并联动画)
3.状态和过渡
- 状态的保持、切换、恢复和特效
多媒体应用
QT的音视频功能不是特别强,建议专业应用使用FFmpeg
1.音视频功能类: QMediaPlayer、QMovie、QCamera、QAudioRecorder
2.可以实现的功能(音视频播放和录制)
数据处理和展示
普通文件
1.QFile读取文件\QTextStream读取文本流; QDataStream读取二进制流
特殊文件
处理特殊文集:ini、XML、json等
通过序列化操作实现QT程序状态的本地持久化
QT项目中通过数据封装实现Json结构和数据类之间的相互转换
模型视图框架
Model-->Delegate-->View框架
QListWidget、QTreeWidget、QTableWidget
QT中Model-View-Delegate委托代理机制用法介绍
Qt5中的model-view-delegate
模型-视图-代理(Model-View-Delegate)实例
数据库
各种数据库的处理
通过封装数据库操作接口实现QT对象本地持久化
QT通过数据模型操作数据库中的数据
各种数据结构
字符串: QString、正则表达式
容器类: QSet、QList、QVector、QQueued、QStacked、QMap、QMultiMap、QHash、QMultiHash等
自适应类: QByteArray、QVariant
通信及部署
进程/线程
1.进程使用QProcess调度
2.线程实现: 重写QThread、QObject->movetoThread、QTreadPool、QConcurrent
配置QT程序的命令行参数
采用QT实现并行计算框架
通过引入线程池提升QT程序的并发性能
QtConcurrent实现多线程并行计算
通信方式
1.UDP\TCP通信
2.HTTP通信
3.FTP通信
4.QtWebEngine
Qt使用Http协议进行通信
Qt+libhv实现各类网络通信方式(TCP-UDP-HTTP-WebSocket)
通过QT管理网络状态和网络连接
Qt中使用共享内存实现进程间的通信
dbus总线通信的原理和使用
打包发布部署
1.搭建工程项目
2.提取程序的依赖项,打包发布
3.程序测试工程
采用QTest进行数据集测试-性能测试-GUI测试
QT日志模块的个性化使用
QT项目搭建完整的单元测试流程
分析一个跨平台QT项目(获取系统CPU使用率和内存占用率)
快速搭建一个简洁高效的跨平台Qt项目工程
使用AppImage格式打包独立运行的Qt-Linux程序
QT项目自动化构建和打包
QT程序设置程序详细信息
QT获取计算机的硬件信息
插件系统
1.自定义插件
2.输入法插件等
Qt插件之自定义插件构建和使用
Qt插件之Qt Designer插件实现
Qt插件之输入法插件的构建和使用(一)
Qt插件之输入法插件的构建和使用(二)