QT
文章平均质量分 76
QT编程
byxdaz
十年以上C/VC++开发经验。熟悉网络编程、数据库编程、数字图像处理与识别,熟悉软件工程和项目管理,熟悉linux C/C++开发。
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
QT中获取window平板电量
cmd# 查看上次休眠/睡眠/唤醒时间# 查看系统唤醒历史。原创 2026-01-05 18:16:17 · 307 阅读 · 0 评论 -
Qt 中将 QWidget 改为模态的方法
exec()原创 2025-12-26 16:05:21 · 234 阅读 · 0 评论 -
在 QT Creator中调试Release程序
在 QT Creator Release 模式下调试,需要进行一些特殊配置。原创 2025-12-10 12:49:54 · 893 阅读 · 0 评论 -
QT中使用第三方字体库(比如:思源黑体等)
Write-Host '字体缓存刷新成功' -ForegroundColor Green } catch { Write-Host '字体缓存刷新失败: $($_.Exception.Message)' -ForegroundColor Red }" >nul 2>&1。Write-Error "安装字体失败: $fontName - $($_.Exception.Message)"安装字体到系统font目录下,通过右键点击字体文件安装,安装后,重启Qt Creator,在UI编辑器中就可以使用该字体了。原创 2025-12-08 11:18:30 · 999 阅读 · 0 评论 -
Qt中QMessageBox使用
/ 标准按钮组合QMessageBox::Ok // 确定QMessageBox::Open // 打开QMessageBox::Save // 保存QMessageBox::Cancel // 取消QMessageBox::Close // 关闭QMessageBox::Discard // 放弃QMessageBox::Apply // 应用QMessageBox::Reset // 重置QMessageBox::RestoreDefaults // 恢复默认。原创 2025-11-28 13:09:00 · 333 阅读 · 0 评论 -
Qt中Modbus协议
是一个基类,用于表示 Modbus 客户端(主站),具体的网络协议由派生类(如和)实现。物理层数据传输: 二进制格式校验: CRC16 校验地址范围: 1-247物理层数据传输: ASCII 文本格式(十六进制ASCII字符)起始符(0x3A)结束符CR LF校验: LRC 纵向冗余校验地址范围: 0-247qmake传输层: TCP/IP端口号: 默认 502协议标识: 0x0000 (Modbus协议)单元标识: 从站地址(兼容串行链路)无校验: 依赖TCP的可靠性。原创 2025-11-18 23:09:26 · 1130 阅读 · 0 评论 -
Qt中位操作
【代码】Qt中位操作。原创 2025-11-11 09:16:10 · 260 阅读 · 0 评论 -
Qt中日期/时间/时区类 (QDate, QTime, QDateTime,QTimeZone)
qDebug() << "UTC偏移:" << systemTimeZone.standardTimeOffset() / 3600 << "小时";qDebug() << "夏令时偏移:" << timeZone.daylightTimeOffset(dt) / 3600 << "小时";qDebug() << "原始时间(北京):" << beijingTime.toString("yyyy-MM-dd hh:mm:ss t");原创 2025-11-08 12:59:08 · 718 阅读 · 0 评论 -
Qt中使用系统级全局热键
Qt 中实现系统级全局热键(含组合键)的几种方法:1、使用 QHotkey 第三方库2、平台特定API实现。原创 2025-11-06 09:45:51 · 477 阅读 · 0 评论 -
Windows Pad平板对 Qt 的支持
特性Qt 支持情况关键类/API备注点击/触摸完全支持默认模拟鼠标,可启用原生触摸手势完全支持高级抽象,开发效率高手写笔完全支持支持压力、倾斜等完整笔触信息虚拟键盘完全支持自动由系统管理,用于高级控制开箱即用,无需额外代码高DPI部分支持Qt 5.6+ 后已非常完善,需正确。原创 2025-10-12 14:23:55 · 1406 阅读 · 0 评论 -
QEvent 入门
QEvent 是 Qt 中所有事件类的基类。事件对象包含事件参数,Qt 的事件系统通过向 QObject 对象发送事件来处理各种用户交互和系统事件。cpp// 自定义事件类型public:private:cppQ_OBJECTpublic:protected:");QEvent是 Qt 事件系统的基础通过重写特定的事件处理函数来处理事件使用可以拦截和处理其他对象的事件可以创建自定义事件来实现特定的通信需求合理的事件处理可以创建响应灵敏的用户界面。原创 2025-10-11 08:56:57 · 276 阅读 · 0 评论 -
QT模型/视图架构入门
text属性类型描述objectNameQString对象名称模型类主要通过方法提供功能方法参数返回值描述rowCount()int返回行数(对于列表,列数固定为1)int返回1index()创建索引parent()返回无效索引方法参数返回值描述rowCount()int返回行数int返回列数index()创建索引parent()返回无效索引cppQ_OBJECTpublic:int age;// 初始化数据。原创 2025-10-10 08:54:48 · 1239 阅读 · 0 评论 -
QT 委托 (Delegate) 入门
cppQ_OBJECTpublic:// 必须重写的三个核心方法css/* 为树形视图定义基础样式 */原创 2025-10-09 08:54:40 · 690 阅读 · 0 评论 -
QTreeWidget 入门
cpp// 创建图标// 为项设置图标item->setText(0, "我的文件夹");child->setText(0, "我的文件");cpp// 为项添加按钮等其他控件item->setText(0, "带按钮的项");QPushButton *button = new QPushButton("点击我");原创 2025-10-04 14:49:53 · 885 阅读 · 0 评论 -
QListWidget 入门
cpp// 创建带有图标的项目item->setText("自定义项目");item->setToolTip("这是一个提示");// 设置项目数据// 存储自定义数据// 创建QListWidgetItem// 设置item高度// 创建自定义widgetQString("项目 %1").arg(itemNumber),QString("这是第 %1 个自定义项目的描述").arg(itemNumber)// 添加到listWidget。原创 2025-10-03 09:10:01 · 995 阅读 · 0 评论 -
Windows中焦点与软键盘
在Windows电脑中,通常不需要自动弹出软键盘。原创 2025-10-01 08:11:55 · 1320 阅读 · 0 评论 -
Qt操作Windows平板上摄像头
"支持" : "不支持");qDebug() << "对比度调节:" << (getCameraProperty(CV_CAP_PROP_CONTRAST) >= 0?"支持" : "不支持");qDebug() << "曝光调节:" << (getCameraProperty(CV_CAP_PROP_EXPOSURE) >= 0?qDebug() << "变焦功能:" << (getCameraProperty(CV_CAP_PROP_ZOOM) >= 0?" (后置)" : ""),原创 2025-09-30 08:59:25 · 1128 阅读 · 0 评论 -
QCamera模块入门
QCamera是模块中的一个核心类,它提供了一个高级别的、跨平台的 API,用于访问操作系统的摄像头硬件。它的主要目标是让开发者能够轻松地实现拍照、录像、预览摄像头画面等功能,而无需关心底层不同操作系统(如 Windows, Linux, macOS, Android, iOS)的具体实现细节。原创 2025-09-29 08:53:47 · 790 阅读 · 0 评论 -
Qt键盘输入法的开源方案
/ 第一行:数字++i) {// 第二行:字母++i) {// 功能键。原创 2025-09-26 16:58:25 · 1070 阅读 · 0 评论 -
QTableWidget 控件入门
cpp// 添加按钮到单元格QPushButton *button = new QPushButton("操作");qDebug() << "按钮被点击";});// 添加组合框comboBox->addItems({"选项1", "选项2", "选项3"});// 添加复选框QCheckBox *checkBox = new QCheckBox("启用");原创 2025-09-20 13:55:58 · 449 阅读 · 0 评论 -
QT加密和哈希
需求推荐方案快速计算 MD5、SHA 等哈希值(内置,首选)简单的对称加密(AES)、非对称加密(RSA)、证书QCA(API 友好,功能全面)需要与现有 OpenSSL 代码集成或使用非常见算法直接使用 OpenSSL(强大但复杂)为应用程序提供 SSL/TLS 通信QSslSocket(Qt Network 模块内置) +QCA(用于证书操作)原创 2025-09-14 12:22:00 · 1136 阅读 · 0 评论 -
QHash使用
是 Qt 的一个通用容器类。它在一个哈希表中存储键值对(key-value pairs),基于键(key)来提供非常快速的查找、插入和删除操作。简单来说:它是 Qt 中对标准字典或哈希表的实现,类似于 C++ 标准库中的。如果你想使用自定义的类或结构体作为QHash的键,你需要做两件事:为该类型重载operator==。为该类型提供一个哈希函数qHash()。// 为 Employee 类型定义哈希函数// 将多个字段的哈希值组合起来是一种常见做法。原创 2025-09-14 12:00:08 · 721 阅读 · 0 评论 -
QMap使用
如果你想使用自定义的类或结构体作为QMap提供拷贝构造函数。提供重载的,因为QMap需要用它来排序。(可选,但建议)提供重载的。示例:使用自定义结构体作为键cppint id;// 必需的 operator<if (id!// 如果id相等,再用name比较// 可选的,但很有用的 operator==// 现在可以使用 MyKey 作为 QMap 的键if (myMap.contains({1, "Alice"})) { // 需要 operator==原创 2025-09-12 19:00:59 · 971 阅读 · 0 评论 -
Qt 中日志级别
使用宏来定义一个类别。cpp// 在头文件中定义// 在源文件中实现。原创 2025-08-28 18:09:06 · 800 阅读 · 0 评论 -
Qt中使用Microsoft SQL Server (MSSQL)数据库
类名作用描述连接管理代表一个数据库连接。用于创建、打开、关闭连接。QSqlQuerySQL 执行用于执行任意 SQL 语句(SELECT, INSERT, UPDATE, DELETE, 存储过程等)并浏览结果集。QSqlRecord记录封装封装了数据库记录(一行数据)的字段信息和值。QSqlError错误处理提供数据库操作过程中发生的错误信息。数据模型高级抽象,提供了一个可编辑的数据模型,用于自动读写单个表,常与QTableView配合使用。关系模型的扩展,支持外键和关联表。BLOB:使用。原创 2025-08-25 09:23:53 · 1237 阅读 · 0 评论 -
Qt中使用MySQL数据库
在循环中逐条插入并自动提交。原创 2025-08-23 08:53:00 · 1335 阅读 · 0 评论 -
Qt中实现异步阻塞等待应答常用方法
在Qt中实现异步阻塞等待应答(即发送命令后等待响应,但不阻塞主事件循环)通常有几种方法。原创 2025-08-22 09:06:54 · 709 阅读 · 0 评论 -
UPnP/SSDP入门
UPnP (Universal Plug and Play) 是一种网络协议,允许设备在局域网中自动发现和交互,而 SSDP (Simple Service Discovery Protocol) 是其核心发现机制。本指南将介绍 UPnP/SSDP 的基本概念和工作原理。原创 2025-08-21 09:11:14 · 1359 阅读 · 0 评论 -
QT 网络TCP编程入门
属性类型说明访问函数int最大等待连接数,超过此数的新连接将被拒绝int底层监听队列的大小(仅在某些平台有效)服务器监听的地址serverPortquint16服务器监听的端口qintptr服务器套接字描述符bool是否正在监听连接属性类型说明访问函数本地绑定的IP地址localPortquint16本地绑定的端口号远程主机的IP地址peerPortquint16远程主机的端口号peerNameQString远程主机名称qintptr底层套接字描述符state套接字当前状态error。原创 2025-08-18 08:58:18 · 1032 阅读 · 0 评论 -
QSharedPointer<QByteArray> 入门
线程安全的引用计数智能指针自动管理所指向对象的内存释放当最后一个引用被销毁时自动删除目标对象cpp// 使用自定义删除器qDebug() << "删除数据";delete obj;});优先使用::create()而非new直接构造多线程传递时保持数据不可变大型数据优先使用共享指针而非传值及时释放不再需要的引用配合信号槽实现线程安全通信。原创 2025-08-15 09:01:24 · 600 阅读 · 0 评论 -
QTimer、QElapsedTimer、QDeadlineTimer
QTimer 是 Qt 中用于定时执行操作的类,它提供了单次和重复定时器的功能。原创 2025-08-09 14:07:06 · 1344 阅读 · 0 评论 -
Qt 的对象线程亲和性规则
查阅 Qt 官方文档,如果类文档明确说明它是 thread-safe,则可以跨线程使用。如果父对象被移动到另一个线程,子对象也会一起移动。)本身是线程安全的,但多线程访问时仍需同步(如用。可以跨线程发送事件,Qt 会自动处理线程亲和性。子类都不是线程安全的,除非特别说明(如。Qt 的线程模型基于 QObject。,否则可能导致崩溃或未定义行为。,否则可能导致崩溃或未定义行为。可以将对象迁移到另一个线程。的子类,并且不是线程安全的。,不能在目标线程直接调用。以下是一个完整的跨线程。将其迁移到工作线程。原创 2025-08-09 10:25:41 · 1249 阅读 · 0 评论 -
QDataStream入门
你可以为自定义类型重载<<和>>运算符:cppint age;return out;return in;// 使用out << p;cpp// 自定义结构体int age;// 可选:添加构造函数方便使用// 重载输出运算符 <<return out;// 重载输入运算符 >>return in;原创 2025-08-07 23:15:25 · 706 阅读 · 0 评论 -
QT 网络UDP编程入门
值说明低延迟选项保持连接选项组播TTL选项组播回环选项服务类型选项发送缓冲区大小接收缓冲区大小广播选项值说明平台默认绑定模式允许多个服务绑定到同一地址独占绑定地址提示重用地址。原创 2025-08-08 07:00:00 · 1270 阅读 · 0 评论 -
Qt qmake入门
qmake 是 Qt 提供的跨平台构建工具,它能够根据项目文件(.pro)自动生成 Makefile 或其他构建系统文件(如 Visual Studio 项目文件)。qmake 简化了跨平台项目的构建过程,开发者只需编写一个 .pro 文件,qmake 会根据目标平台生成相应的构建文件。qmake# 自定义预处理命令# 自定义编译后步骤qmake# 定义变量# 使用变量# 环境变量qmake# 函数体# 调用函数message()qmake# 自定义编译器。原创 2025-08-09 07:00:00 · 472 阅读 · 0 评论 -
QT样式编程2
QT样式(Qt Style Sheets)是一种基于CSS的机制,用于自定义QT应用程序的外观和风格。它允许开发者在不修改代码的情况下改变应用程序的视觉表现。// 自定义按钮类// ...// 样式设置}");// MyButton也会继承这个样式// 解决方案1:为自定义控件专门设置样式}");// 解决方案2:在自定义控件中强制设置样式");原创 2025-07-31 12:52:23 · 1333 阅读 · 0 评论 -
QT实现雷达图
修改数据结构以支持多组数据,使用不同颜色绘制多个多边形。角度从顶部开始(-π/2),按等分角度分布。继承自 QWidget,负责绘制雷达图。数据值归一化到 0~1 范围。方法用于设置数据和标签。:绘制同心圆网格和轴线。:绘制数据多边形和顶点。:在轴线末端绘制标签。原创 2025-07-19 07:00:00 · 997 阅读 · 0 评论 -
Qt 中使用 SQLite 数据库
SQLite 允许用各种编程语言扩展自定义函数:ci < len;i++) {// 注册函数public:// 使用自定义模型。原创 2025-07-16 07:00:00 · 1375 阅读 · 0 评论 -
QT并发机制
QT 提供了多种并发编程机制,使得开发者能够充分利用多核处理器优势,同时保持代码的可维护性和跨平台特性。原创 2025-07-06 16:43:11 · 1109 阅读 · 0 评论 -
QtConcurrent入门
QtConcurrent 是 Qt 提供的一个高级并发编程框架,它简化了并行算法的实现,让开发者能够更容易地利用多核处理器的优势。原创 2025-07-06 16:39:11 · 655 阅读 · 0 评论
分享