会员
周边
新闻
博问
闪存
众包
赞助商
Chat2DB
所有博客
当前博客
我的博客
我的园子
账号设置
会员中心
简洁模式
...
退出登录
注册
登录
永不停转
博客园
首页
新随笔
联系
订阅
管理
[置顶]
QT 的信号-槽机制
摘要: 对于对象间的通信问题,很多框架采用回调函数类解决。QT 使用信号-槽解决对象间的通信问题,只要继承 QObject 类就可以使用信号-槽机制。信号-槽使用起来非常简单、灵活,发射和接收对象实现了解耦。发射信号的对象不需要关注有哪些对象需要接收信号,只需要在状态改变时发射信号即可;接收对象也不需要关注
阅读全文
posted @ 2025-04-16 10:43 永不停转
阅读(876)
评论(0)
推荐(2)
2026年1月26日
详解 QThreadStorage 的实现机制
摘要: 在多线程环境中,当每个线程需要独立维护某些数据时,就需要用到线程本地存储(TLS, Thread-Local Storage)。不同的操作系统 TLS 的实现方式也不相同,但都提供了相应的接口。QT 作为一个可跨平台的编程工具,封装了不同操作系统对 TLS 的操作,通过 QThreadStorage
阅读全文
posted @ 2026-01-26 10:54 永不停转
阅读(24)
评论(0)
推荐(0)
2025年11月26日
关于 QGraphicsItemGroup 内部项目发生变化后group重新定位的问题
摘要: 在项目中为了便于对组合后的图元进行管理,一般会继承 QGraphicsItemGroup 实现自己的 group 类,这样可以方便的借用 QGraphicsItemGroup 对内部图元进行管理,但同时也受到了 QGraphicsItemGroup 实现的约束。例如:QGraphicsItemGro
阅读全文
posted @ 2025-11-26 09:47 永不停转
阅读(271)
评论(0)
推荐(2)
2025年8月24日
详谈 QT 布局 QLayout::SizeConstraint 和 QSizePolicy 对 QWidget 尺寸的影响
摘要: QT 窗口布局常用的设置有 QSizePolicy 和 QLayout::SizeConstraint ,当窗口大小调整时,哪个配置会生效或者都会生效?先说一个简单的结论:QSizePolicy 与 QLayout::SizeConstraint 都用于 QLayout 的自动布局,父 widget
阅读全文
posted @ 2025-08-24 10:35 永不停转
阅读(467)
评论(0)
推荐(0)
2025年4月22日
QT 实现 C++ 数据类与 json 的转换
摘要: QT 提供了 QJsonDocument、QJsonObject、QJsonArray、QJsonValue 等类用于 JSON 的解析和转换。QJsonValue 支持的数据类型包括:bool、double、string、array、object、null。但是,对于 QRectF、QLineF、
阅读全文
posted @ 2025-04-22 15:32 永不停转
阅读(792)
评论(1)
推荐(2)
借助 QT 的反射机制实现 C++ 数据类的序列化
摘要: 在 C++ 工程中经常需要使用数据类,并对数据类进行存储、打印、调试等操作。由于数据类中有大量数据字段,每次都编写存储或输出数据内容,工作重复量太大。C++ 不支持用户自定义的注解,所以没办法使用类似 java 中类似 Lombok 的插件。但是 QT 的属性系统和 moc 编译系统,为简化数据类的
阅读全文
posted @ 2025-04-22 09:14 永不停转
阅读(424)
评论(0)
推荐(0)
2025年4月21日
从源码看 QT 的事件系统及自定义事件
摘要: 事件是程序内部或外部触发的动作或状态变化的信号。在 Qt 中,所有事件都是 QEvent 派生类的对象,事件由 QObject 派生类的对象接收和处理。每一个事件都有对应的 QEvent 派生类,当事件发生时,QT 会创建相应事件的对象。然后调用接收者(QObject 派生类对象)的 event()
阅读全文
posted @ 2025-04-21 15:19 永不停转
阅读(721)
评论(0)
推荐(0)
2025年4月12日
QT 的可绑定属性,简化信号、槽(SIGNAL、SLOT)机制的方法
摘要: QT提供的可绑定属性是指这些属性可以绑定到其他值或表达式上(通常是 C++ lambda 表达式)。如果属性是通过表达式进行绑定,该属性会跟随表达式自动更新。可绑定属性由 QProperty 类和 QObjectBindableProperty 类实现,它们都继承自 QPropertyData 类。
阅读全文
posted @ 2025-04-12 17:35 永不停转
阅读(376)
评论(0)
推荐(0)
2025年4月9日
C++宏定义中可变参数列表__VA_ARGS__ 及 QT 提供的宏 QT_OVERLOADED_MACRO
摘要: 1. 基本用法 VA_ARGS 是 C/C++ 中的预定义宏,用于在宏定义中表示可变参数列表(Variadic Arguments),需与省略号 ... 配合使用。其核心作用是将宏调用中的可变参数原样传递给展开后的代码。 #define LOG(format, ...) printf(format,
阅读全文
posted @ 2025-04-09 12:02 永不停转
阅读(564)
评论(0)
推荐(2)
2025年4月8日
继承 QPaintEngine 利用 QSvgRenderer 从SVG 图片中提取路径(QPainterPath)的方法
摘要: SVG 作为为可缩放矢量图形(Scalable Vector Graphics),易于编辑和维护,基于XML的文本文件存储,在网页设计、图标制作、数据可视化和其他图形相关的领域应用广泛。在应用工程中总会有动态修改路径、绘制颜色等需求,这就需要能够动态的解析 svg 文件,获取对应的路径、颜色等参数。
阅读全文
posted @ 2025-04-08 12:51 永不停转
阅读(423)
评论(0)
推荐(1)
下一页