QT知识体系框架及对应文章汇总

文章目录

  • IDE用法
  • 基本界面实现
    • 基本控件和窗体
    • 控件布局和定位
    • 应用程序主窗口
    • 界面外观样式实现
    • 事件系统实现
    • 控件窗体关联通信
  • 图形动画
    • 2D图形绘制
    • 3D图形绘制
    • 图形视图框架
    • 动画状态切换
    • 多媒体应用
  • 数据处理和展示
    • 普通文件
    • 特殊文件
    • 模型视图框架
    • 数据库
    • 各种数据结构
  • 通信及部署
    • 进程/线程
    • 通信方式
    • 打包发布部署
    • 插件系统

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等

让Qt窗口保持显示在最前的跨平台解决方案

控件布局和定位

QHBoxLayout(水平布局)、QVBoxLayout(垂直布局)、QGridLayout(网格布局)、QFormLayout、QStackedLayout(栈布局管理器)
QSpitter(窗口分割器)

应用程序主窗口

组成部分: 菜单栏、工具栏、中心部件、状态栏、Docke窗口

界面外观样式实现

通过样式表QSS实现自定义样式(透明窗体、透明圆角等)

Qt窗口实现圆角阴影效果
QT自定义控件的悬浮样式实现
QT自动适配高分屏的解决方案

事件系统实现

1.鼠标事件、键盘事件、定时器事件(点击、悬浮、拖拽)
2.事件的过滤和发送

通过QT的拖拽事件来操作文件

控件窗体关联通信

1.信号和槽通信机制(DirectConnection、QueuedConnection)
2.属性系统(传递数据、指定样式等)
3.元对象系统

QT中使用function+lambda来替代繁琐的信号绑定
QT信号和槽通信机制的使用技巧

图形动画

2D图形绘制

1.重写paint事件

  • 绘制文本、图像、路径(绘制-填充-渐变-抗锯齿等)

QT自绘控件的实现方式

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

通过QT实现C++和JavaScript混合编程
QT彻底解决中文乱码问题(代码、普通文件、ini文件、路径)

通信及部署

进程/线程

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插件之输入法插件的构建和使用(二)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/6037.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Java基础知识(三) -- 流程控制

不论哪种编程语言,都会提供两种基本的流程控制结构:分支结构和循环结构。其中分支结构用于实现根据条件来选择性地执行某段代码,循环结构则用于实现根据循环条件重复执行某段代码。 1. 顺序结构 任何编程语言中最常见的程序结构就是顺序结构…

单片机编程实例400例大全(100-200)

今天继续分享单片机编程实例第100-200例。 今天的实例会比前面100复杂一些,我大概看了下,很多都具备实际产品的参考价值。 今天继续分享单片机编程实例第100-200例。 今天的实例会比前面100复杂一些,我大概看了下,很多都具备实际…

频分复用系统设计及其MATLAB实现

引言 随着通信技术的飞速发展,通信系统的容量需求不断增长。频分复用(Frequency Division Multiplexing, FDM)作为一种重要的多路复用技术,被广泛应用于现代通信系统中。本文将介绍频分复用系统的设计原理,并展示如何…

简单工厂模式、工厂方法模式和抽象工厂模式

1、简单工厂模式 1.1 结构 简单工厂包含如下角色: 抽象产品 :定义了产品的规范,描述了产品的主要特性和功能。 具体产品 :实现或者继承抽象产品的子类 具体工厂 :提供了创建产品的方法,调用者通过该方法…

centos部署前后端项目

这一次我们不用宝塔面板了,用docker部署后端,nginx部署前端 1.python环境安装 1)环境准备:centos7安装minicondaMiniconda入门:在CentOS上的安装、基本操作、目录结构、卸载_centos 安装miniconda-CSDN博客【Linux】…

革新未来电子:科研团队利用氢键操控超薄磁性材料,开辟纳米科技新纪元

德国亥姆霍兹德累斯顿-罗森多夫研究中心(Helmholtz-Zentrum Dresden-Rossendorf, HZDR)与德累斯顿工业大学(TUD)领导的一个德美研究团队,在《Nano Letters》期刊上提出了一项创新理念,旨在改善超薄材料的性能。该理念通过让二维(2D)材料与氢反应&#xf…

《青少年成长管理2024》087 “目标计划:制定目标”6_3

《青少年成长管理2024》087 “目标计划:制定目标”6_3 四、要素目标(五)能力要素目标(六)作为要素目标(七)思想要素目标 五、阶段目标(一)0-3岁(早教阶段&…

springBootAdmin监控

简介 用于对 Spring Boot 应用的管理和监控。可以用来监控服务是否健康、是否在线、以及一些jvm数据等等 Spring Boot Admin 分为服务端(spring-boot-admin-server)和客户端(spring-boot-admin-client),服务端和客户端之间采用 http 通讯方式实现数据交互&#xf…

一文get等保测评与密评的差异

“等保”即网络安全等级保护,旨在通过不同安全等级的管理和技术措施,确保信息系统的安全稳定运行。我国于2017年颁布的《网络安全法》中第二十一条规定“国家实行网络安全等级保护制度”。法律要求网络运营者需按照网络安全等级保护制度要求,…

快讯! MySQL 8.4.0 LTS 发布(MySQL 第一个长期支持版本)

MySQL 第一个长期支持版本 8.4.0 LTS 发布,社区版下载地址: https://dev.mysql.com/downloads/mysql/ 功能变更 添加或更改的功能 组复制:与组复制相关的两个服务器系统变量的默认值已更改: 系统变量的默认值为 group_replication…

Unity开发一个FPS游戏之四

在前面的系列中,我已介绍了如何实现一个基本的FPS游戏,这里将继续进行完善,主要是增加更换武器以及更多动作动画的功能。 之前我是采用了网上一个免费的3D模型来构建角色,这个模型自带了一把AR自动步枪,并且自带了一些…

Vue Cli脚手架—安装Nodejs和Vue Cli

一,Vue Cli 文档地址: https://cli.vuejs.org/zh/ 二,.环境配置,搭建项目 1.安装node.js 2.下载 node.js10.16.3 地址: https://nodejs.org/en/blog/release/v10.16.3/ 3.安装 node.js10.16.3 , 直接下一步即可, 安装到 d:\program\nodejs…

jupyter notebook使用与本地位置设置

本地安装好Anaconda之后,自带的有Jupter notebook。 使用jupyter notebook 使用jupyter notebook时,可以直接打开或者搜索打开: 打开后,我们生成的或者编辑的一些文件,都可以看到,如下: j…

旅游新策略,共享与补贴助力地方经济繁荣

在当前的经济环境中,旅游业对于地方经济增长的重要性日益凸显。各个城市都在积极探索增加旅游流量的方法,以刺激本地经济的增长。 例如,淄博政府通过政策推动和合作模式,成功吸引了大量游客,这成为了一个成功的案例。…

前端面试和一些建议

最近公司在招前端,我有跟着一起参与面试。我们主要负责面试的人,不会问那些什么闭包,原型链,他觉得那些东西在我们日常开发中用不到,问的基本都是一些工作中的问题。这些问题不是每次都问,但也就问这些了。…

Windows server2016关闭ie增强

要关闭Windows Server 2016上的IE增强安全配置,请按照以下步骤操作: 打开“服务器管理器”。点击“本地服务器”。在服务器管理器中,找到“IE增强的安全配置”,点击旁边的“启用”,打开“Internet Explorer增强的安全配…

香港立法會議員容海恩女士確定出席“邊緣智能2024 - AI開發者峰會”

隨著AI技術的飛速發展,全球正步入邊緣計算智能化與分布式AI深度融合的新紀元,共同演繹著分布式智能創新應用的壯麗篇章。在這一背景下,邊緣智能,作為融合邊緣計算和智能技術的新興領域,正逐漸成為推動AI發展的關鍵力量…

QT5带UI的常用控件

目录 新建工程,Qmainwindow带UI UI设计器 常用控件区 Buttons 按钮 containers 容器 控件属性区域 对象监视区 布局工具区 信号与槽区 简单例子1 放置一个按钮控件,改文本为发送,该按键为Button1; 按钮关联信号和…

STM32开启停止模式,用外部中断唤醒程序运行

今天学习了一下STM32的停止模式,停止模式下,所有外设的时钟和CPU的电源都会被关闭,所以会很省电,打破这种停止模式的方式就是外部中断可以唤醒停止模式。要想实现这个功能,其实设置很简单的,总共就需要两步…

基于GWO灰狼优化的CNN-LSTM-Attention的时间序列回归预测matlab仿真

目录 1.算法运行效果图预览 2.算法运行软件版本 3.部分核心程序 4.算法理论概述 4.1卷积神经网络(CNN)在时间序列中的应用 4.2 长短时记忆网络(LSTM)处理序列依赖关系 4.3 注意力机制(Attention) 4…