
QT
文章平均质量分 75
byxdaz
十年以上C/VC++开发经验。熟悉网络编程、数据库编程、数字图像处理与识别,熟悉软件工程和项目管理,熟悉linux C/C++开发。
展开
-
Qt 中 findChild和findChildren绑定自定义控件
/ 假设有一个自定义控件类 MyCustomWidget// 在 C++ 中查找 QML 加载的自定义控件// 在 QML 中,确保 C++ 对象已设置为上下文属性// ...// 通过 objectName 查找设置 objectName正确的父子关系在 QML 中注册类型。原创 2025-04-04 21:10:55 · 213 阅读 · 0 评论 -
Qt中绘制不规则控件
在Qt中绘制不规则控件可通过设置遮罩(Mask)实现。原创 2025-03-31 21:13:27 · 469 阅读 · 0 评论 -
Qt中存储多规则形状图片
在Qt中,您可以通过多种方式处理和存储具有非矩形(多规则形状)的图片。原创 2025-03-31 17:23:04 · 322 阅读 · 0 评论 -
QCustomPlot拖动绘制变慢问题解决方案
数据量控制:保持可视数据点在 5,000 个以下合理使用 OpenGL:对动态数据效果显著分级渲染:拖动时用低质量,释放后用高质量避免频繁重绘:使用合并重绘请求定期性能分析:使用 QElapsedTimer 监控关键操作耗时。原创 2025-03-31 16:47:32 · 182 阅读 · 0 评论 -
Qt常用宏定义判断大全
/ 字符串化宏// 标记未使用参数(避免编译器警告)// 标记函数为弃用#endif// 标记函数为不推荐使用(但尚未弃用)原创 2025-03-31 15:12:22 · 254 阅读 · 0 评论 -
QThread使用
QThread 是 Qt 提供的线程类,用于实现多线程编程。原创 2025-03-31 15:07:14 · 833 阅读 · 0 评论 -
Qwt入门
Qwt(Qt Widgets for Technical Applications)是一个用于。的 Qt 控件库,提供曲线图、仪表盘、刻度尺等专业可视化组件。原创 2025-03-31 00:01:43 · 471 阅读 · 0 评论 -
QtAV入门
是一个基于和的高性能多媒体播放框架,提供强大的音视频解码、渲染和处理能力,适合开发跨平台的播放器、视频编辑和流媒体应用。支持等视频编码。支持等音频编码。封装格式:MP4、MKV、FLV、RTMP、HLS 等。利用OpenGL/D3D11 视频渲染,降低 CPU 占用。精准、倍速播放、帧步进。音视频同步、字幕加载(SRT/ASS)。可单独使用或。支持和集成。(>= 4.0):提供编解码能力。(>= 5.6):核心框架支持。原创 2025-03-30 23:37:52 · 796 阅读 · 0 评论 -
QXmpp入门
用于开发即时通讯(IM)、聊天应用和实时协作系统。它支持客户端和服务端开发,提供完整的 XMPP 核心功能扩展。支持 RFC 6120 (XMPP Core) 和 RFC 6121 (XMPP IM)支持 Qt 网络模块(TCP/SSL/WebSocket)QXmpp 是一个基于 Qt 的。基础功能:认证、在线状态、一对一消息、群组聊天。OMEMO 端到端加密 - XEP-0384。安全通信工具(结合OMEMO)嵌入式系统兼容(如树莓派)完整的XMPP协议栈支持。基于 Qt 信号槽机制。原创 2025-03-30 23:28:44 · 494 阅读 · 0 评论 -
Qt WebSockets使用
是 Qt 官方提供的实现库,支持全双工通信(客户端/服务端),适用于实时交互应用(如聊天、游戏、实时数据监控)。符合标准,支持ws://和wss://(加密)。自动处理握手、帧拆分、Ping/Pong 心跳。QWebSocket:WebSocket 客户端。:WebSocket 服务端。支持和。通过QSslSocket实现安全的wss://连接。支持 Windows、Linux、macOS、嵌入式系统(如树莓派)。在。原创 2025-03-30 23:21:43 · 425 阅读 · 0 评论 -
QtWebApp使用
实现,适用于嵌入式设备、本地服务或需要快速搭建 Web 接口的 Qt 应用程序。:不支持 WebSocket、HTTPS(需自行扩展)。可直接托管 HTML、CSS、JS 等静态资源。:支持 Windows/Linux/macOS。纯 Qt 实现,无第三方依赖,适合嵌入式环境。:高并发场景不如 Nginx/Node.js。:API 设计直观,快速搭建 Web 服务。:仅依赖 Qt 网络模块,适合嵌入式开发。(如路由器、IoT 设备)。(无需复杂 Web 框架)。(如配置面板、数据监控)。原创 2025-03-30 23:07:53 · 824 阅读 · 0 评论 -
QtAdvancedStylesheets使用
支持复杂控件(如。原创 2025-03-30 22:58:47 · 257 阅读 · 0 评论 -
QFlightInstruments飞行仪表控件库
是一个开源的飞行仪表控件库,专为基于 Qt 的应用程序设计。它提供了一系列仿真实飞机仪表的组件,适用于飞行模拟软件、航空电子系统或任何需要高仿真飞行仪表显示的项目。:包括空速表、高度表、姿态仪(人工地平仪)、转弯协调仪、航向指示器等。:支持主题和样式调整,适配不同风格的驾驶舱界面。:使用 C++/Qt 编写,跨平台支持(Windows、Linux、macOS)。:可直接嵌入 Qt Widgets 或 QML 界面。– 显示飞行速度(节或公里/小时)。– 显示当前海拔高度(英尺或米)。原创 2025-03-30 22:46:58 · 260 阅读 · 0 评论 -
QTreeView开发入门
QTreeView 是 Qt 框架中用于显示树形结构数据的控件,属于模型/视图架构的一部分。它非常适合展示层次化数据,如文件系统、组织结构等。主要特点:支持多级层次结构显示可展开/折叠节点支持自定义节点样式提供选择、编辑功能可与 QFileSystemModel 等现成模型配合使用Q_OBJECTpublic:// 必须实现的方法// 可选实现的方法private:public:// 自定义绘制// 设置背景。原创 2025-03-30 17:52:58 · 140 阅读 · 0 评论 -
QTableView开发入门
QTableView 是 Qt 中用于显示表格数据的控件,属于模型/视图架构的一部分。它提供了灵活的方式来展示和编辑二维表格数据。Q_OBJECTpublic:// 必须重写的方法// 可选重写的方法// 自定义方法private:// 实现示例if (!default:public:if (index.column() == 1) { // 特殊处理第二列// 绘制背景} else {// 绘制文本。原创 2025-03-30 17:47:00 · 173 阅读 · 0 评论 -
QListView开发入门
QListView 是 Qt 框架中用于显示项目列表的控件,属于模型/视图架构的一部分。它提供了一种灵活的方式来显示和操作项目列表。public:// 选中项背景色// 设置项目高度// 使用自定义委托在 Qt 中创建自定义模型需要继承自 QAbstractItemModel 或其子类(如 QAbstractListModel)。对于列表视图,通常继承 QAbstractListModel 更为简单。// 对于列表模型,parent无效时应返回项目数return 0;原创 2025-03-30 17:39:59 · 459 阅读 · 0 评论 -
VulkanSceneGraph (VSG) 开发入门
VulkanSceneGraph (VSG) 是一个现代的、高性能的3D图形场景图库,基于Vulkan API构建。它具有以下特点:专为Vulkan设计,充分利用Vulkan的多线程和低开销特性开源且跨平台(Windows、Linux、macOS)提供了类似OpenSceneGraph(OSG)的接口但更现代化性能优化,适合实时渲染应用。原创 2025-03-30 14:19:37 · 360 阅读 · 0 评论 -
Qt Creator 中文 “error: C2001: 常量中有换行符“ 问题解决方法
Qt Creator 编译时出现中文 error: C2001: 常量中有换行符的问题,通常由文件编码与编译器字符集不兼容导致。原创 2025-03-29 22:51:55 · 583 阅读 · 0 评论 -
QT 跨平台发布指南
是官方发布的特定版本文件,包含版本类型和架构信息,需重命名或通过完整路径使用。(.AppImage。Qt5Core.dll, Qt5Gui.dll, Qt5Widgets.dll 等 Qt 库。:表示文件格式为 AppImage(一种无需安装即可直接运行的 Linux 应用格式))styles/qwindowsvistastyle.dll (如果使用)可考虑使用 Enigma Virtual Box 打包为单文件。imageformats/*.dll (支持的图片格式) 是工具的标准调用名称。原创 2025-03-29 19:00:13 · 471 阅读 · 0 评论 -
Qt之Service开发
基于Qt的用于开发系统服务(守护进程)和后台服务,有以下几个优秀的开源 QtService 框架和库。原创 2025-03-29 14:58:57 · 828 阅读 · 0 评论 -
QT操作PDF文件
Qt 早期本身不提供原生的 PDF 操作功能。从 Qt 5.15 开始,Qt 提供了 PDF 模块,可以显示和提取 PDF 内容。Qt中有如下几种方式实现 PDF 文件的生成、读取和操作。1、使用 QPrinter 生成 PDF2、使用 Qt PDF 模块 (Qt 5.15+)3、使用第三方库(比如:Poppler)原创 2025-03-29 13:59:31 · 1000 阅读 · 0 评论 -
QT操作Word文档
虽然 Qt 没有原生支持 Word 文档操作的模块,但可以通过以下几种方式实现 Word 文档的读写和操作:1、使用 ActiveX/COM (仅限 Windows)2、使用第三方库 (跨平台),比如: libopendocument等。3、直接操作 DOCX 文件 (DOCX 是 ZIP+XML)4、使用 HTML 作为中介格式。原创 2025-03-29 12:17:13 · 1042 阅读 · 0 评论 -
QT操作Excel
在 Qt 程序中操作 Excel 文件的常用方法有QAxObject、QtXlsx开源库、CSV格式等。使用 QAxObject (仅限 Windows,需安装 Excel) 2、读取数据(每个单元格)3、批量读取数据(N个单元格) 4、写入数据5、高级功能1)插入单张图片1.1)通过 Shapes.AddPicture 方法插入图片,需指定坐标、尺寸和链接方式。坐标可通过单元格的 Left 和 Top 属性动态获取。1.2)动态调整图片位置和大小原创 2025-03-29 10:47:59 · 879 阅读 · 0 评论 -
Modbus协议开发入门
Modbus协议开源库 libmodbus pymodbus QModbus原创 2025-03-28 16:19:11 · 706 阅读 · 0 评论 -
QCustomPlot入门
textLabel->setText("峰值检测");public:// 初始化默认位置// 省略位置成员和位置创建代码...// 使用自定义元素public:// 必须实现的纯虚函数// 自定义数据接口protected:// 注册到QCustomPlot。原创 2025-03-27 20:46:01 · 994 阅读 · 0 评论 -
QT编程之CAN协议
CAN(Controller Area Network)是一种多主控制的串行通信协议,采用双绞线(CAN_H/CAN_L)传输差分信号,具有高可靠性和抗干扰能力24。多主控制:所有节点可主动发起通信,总线空闲时优先发送高优先级数据。实时性强:支持1Mbps高速传输(ISO11898标准),适用于工业控制、汽车电子等场景。错误处理机制:包含CRC校验、位填充、错误帧自动重传等机制,错误检出率>99%。原创 2025-03-26 20:17:13 · 850 阅读 · 0 评论 -
QOpenGLWidget视频画面上绘制矩形框
在QOpenGLWidget中可以绘制,并且和OpenGL的内容叠在一起。paintGL里面绘制完视频后,解锁资源,再用QPainter绘制矩形框。这种方式灵活性最好。通过不同的QOpenGLShaderProgram,可以指定不同的着色器程序来实现矩形的绘制。2)动态矩形顶点缓冲更新,坐标归一化到OpenGL坐标系,顶点数据更新VBO。1)边框颜色参数要通过Uniform传递给OpenGL的顶点着色器。视频帧更新与纹理上传。动态矩形顶点缓冲更新。原创 2025-03-26 14:02:18 · 411 阅读 · 0 评论 -
ffmpeg+QOpenGLWidget显示视频
一个基于 FFmpeg 4.x 和 QOpenGLWidget的简单视频播放器代码示例,实现视频解码和渲染到 Qt 窗口的功能。1)ffmpeg库界面,视频解码支持软解和硬解方式。硬解后,硬件解码完成需要将数据从GPU复制到CPU。优先采用av_hwframe_map函数,失败后再使用av_hwframe_transfer_data2)显示帧数据采用QOpenGLWidget。该类支持YUV420P、NV12、RGB帧数据显示。原创 2025-03-24 16:47:26 · 721 阅读 · 0 评论 -
FFmpeg + Qt 简单视频播放器代码
一个基于 和 的简单视频播放器代码示例,实现视频解码和渲染到 Qt 窗口的功能。原创 2025-03-20 21:43:10 · 433 阅读 · 0 评论 -
QT编程之PCM音频播放与采集
Qt5/Qt6通用方案。原创 2025-03-20 16:47:11 · 392 阅读 · 0 评论 -
QT编程之数据库开发
在使用Qt进行Oracle数据库操作时,通常有两种方法比较常见:使用Oracle的OCI(Oracle Call Interface)或者使用ODBC(Open Database Connectivity)。在Qt中操作Microsoft SQL Server,你可以使用多种方法,包括使用ODBC(Open Database Connectivity)连接,或者使用专门的库如QODBC或QSqlServer(如果你使用的是Qt 5或更高版本,并且有对应的插件)。Qt提供了对ODBC的支持,可以通过。原创 2025-03-20 13:47:28 · 937 阅读 · 0 评论 -
QT国产化系统软件开发
注意: 不同国产系统需在麒麟/UOS官方开发者平台获取SDK适配包,工业场景建议优先选用Qt 5.15 LTS版本。版本并配置独立安装路径。需提前配置交叉编译工具链。等图形库依赖问题)。原创 2025-03-19 11:26:27 · 922 阅读 · 0 评论 -
信创与国产化
信创是一个大概念,主要涵盖四大板块:基础硬件(CPU芯片、服务器等)、基础软件(数据库、操作系统、中间件)、应用软件(OA、ERP、流版签软件等)、信息安全(终端安全产品等),四个模块环环相扣,配合云计算与系统集成。信创全称是“信息技术应用创新”,旨在实现信息技术自主可控,规避外部技术制裁和风险,其核心是建立自主可控的信息技术底层架构和标准,推动全产业链的国产化替代。国产化是指在产品或服务中采用国内自主研发的技术和标准,以替代过去依赖的进口产品和技术的过程。原创 2025-03-19 10:37:46 · 590 阅读 · 0 评论 -
QT编程之串口通信
在Qt中实现串口通信,你可以使用Qt的类,它是从Qt 5.3开始引入的。类提供了一个跨平台的API来访问串行端口。下面是如何使用。原创 2025-03-19 09:28:59 · 1312 阅读 · 0 评论 -
Qt Widgets、Qt Quick
需要高动态效果(如动画、粒子特效)、跨平台统一界面(移动端/嵌入式),或希望快速迭代UI设计(配合Qt Design Studio)。需深度依赖操作系统API、开发传统桌面软件(如工业控制、数据管理工具),或团队熟悉C++且无复杂动画需求。Qt Quick Controls有两个版本,1和2。原创 2025-03-18 15:42:08 · 955 阅读 · 0 评论 -
QML与C++交互
QML 与 C++ 的交互是 Qt Quick 开发的核心需求,常用于将界面逻辑与底层业务逻辑解耦。原创 2025-03-18 15:36:29 · 612 阅读 · 0 评论 -
QT编程之QML入门
Qt Quick是一个用于构建现代、高效、可扩展用户界面的框架。它是Qt开发框架的一部分,旨在通过声明性语法和JavaScript绑定来简化用户界面的设计和实现。Qt Quick基于语言,这是一种类似于JSON的声明性语言,用于描述用户界面的结构和行为。使用QML,您可以使用易于理解和编写的代码来创建用户界面,并通过使用属性绑定和信号槽机制来实现交互逻辑。模板/布局核心组件适用场景交互特性EmptyWindow完全自定义界面无预设交互逻辑ScrollScrollView。原创 2025-03-18 11:40:27 · 783 阅读 · 0 评论 -
Qt Graphics View
Graphics View框架是用来处理大量2D图形对象的,适合需要高效管理和交互的场景,比如绘图软件、地图编辑或者游戏。它和QPainter的区别在于,Graphics View提供了更高级别的对象管理,而QPainter更偏向于直接绘制。原创 2025-03-17 20:18:12 · 1047 阅读 · 0 评论 -
QListView、QListWidget、QTableView和QTableWidget
QTableView是一个基于模型-视图架构的表格控件,用于展示表格形式的数据。1)一个典型的使用QItemDelegate的场景是自定义表格视图中单元格的绘制和编辑方式。利用QItemDelegate,开发者可以为特定的列或者行定制绘制的样式,还可以定义编辑控件和编辑行为。它可以被用于处理复杂的编辑任务,比如自定义的下拉选择器或者复杂的输入验证。QListWidget是一个更为直接、易于使用的列表控件,它内部已经集成了一个简单的模型,可以直接添加、删除和修改项。原创 2025-03-16 12:17:46 · 825 阅读 · 0 评论 -
QT编程之QStackedWidget
在 Qt 中,堆栈窗口通常指的是 QStackedWidget 控件,它是用于管理多个子窗口或页面的堆叠式容器。QStackedWidget 允许你在一个固定区域内显示多个子窗口,但同时只显示其中一个子窗口,其他子窗口则被堆叠在后面。这使得你可以创建多页的界面,如向导、选项卡或其他多视图应用程序。多页容器:QStackedWidget 是一个多页容器,允许你将多个子窗口放在一个固定区域内。单页显示:在任何给定时间,只有一个子窗口是可见的,其他子窗口被隐藏,可以通过切换来显示不同的子窗口。原创 2025-03-15 18:33:07 · 479 阅读 · 0 评论