代码改变世界

qt源码:元对象系统

2026-11-05 15:29 by 一只老老老菜鸟, 7 阅读, 0 推荐, 收藏,
摘要:qt为什么要引入元对象系统?它的作用是什么?用来解决什么问题的? 主要原因:信号槽机制(对象之间通信)需要通过元对象系统实现。 其他原因: 1.获取类实例元对象 2.运行时类型信息,不用C++ RTTI获取且可跨dll 3.判断某个类对象是否继承某个类 4.tr语言国际化 5.动态属性系统 元对象系 阅读全文

QThread多线程

2026-10-30 15:54 by 一只老老老菜鸟, 6 阅读, 0 推荐, 收藏,
摘要:qt中使用QThread创建多线程有两种方式: 1.通过工作对象调用 QObject::moveToThread 移动到线程(推荐) 创建QThread 对象和继承QObject的Worker 对象,(对象的线程亲和性默认在创建其的线程);调用worker->moveToThread(&worker 阅读全文

qt源码:信号槽机制

2026-09-30 18:31 by 一只老老老菜鸟, 22 阅读, 0 推荐, 收藏,
摘要:刚接触qt时,最惊讶的莫过于信号槽了,为啥对象a和对象b通信,直接a发个信号,就能触发b的槽函数。正常通信,对象a持有对象b,在a中通过b对象调用b的函数,回调需先注册持有,a和b须有耦合。信号槽机制是如何做到能够解耦合的呢? 为了揭开这层面纱,于是去阅读和调试源码。 这里不得不提到qt的核心基础: 阅读全文

Windows 托盘图标悬浮时不显示提示信息

2026-05-22 15:23 by 一只老老老菜鸟, 14 阅读, 0 推荐, 收藏,
摘要:#ifndef TRAYICON_H #define TRAYICON_H #include <QMenu> #include <QObject> // #include <QSystemTrayIcon> #include <QtWidgets/QSystemTrayIcon> class Tra 阅读全文

运行机制:窗口与消息

2026-05-18 16:54 by 一只老老老菜鸟, 19 阅读, 0 推荐, 收藏,
摘要:一切GUI对象皆是窗口,(主窗口,菜单栏,工具栏,状态栏,滚动条,按钮,文本框,列表框等等,这些对象被称为子窗口,子窗口控件,控件窗口) 用户可通过输入(键盘鼠标)与窗口程序交互,Windows系统将输入转换为消息,以消息形式传递给程序,窗口也借助消息与其他窗口通信。 举例说明: 用户可用鼠标抓取窗 阅读全文

QML 和 C++ 集成

2026-05-18 16:50 by 一只老老老菜鸟, 54 阅读, 0 推荐, 收藏,
摘要:C++实现逻辑(性能,访问系统底层能力,复杂算法和第三方库,多线程和并发,内存控制和优化等等方面优势),qml实现ui qml访问C++类型的前提条件;QObject派生类。由于 QML 引擎与元对象系统的集成,任何派生类的属性、方法和信号都可能被继承,可被访问。 1.注册可实例化对象类型 向qml 阅读全文

Windows 窗口管理完全指南:从基础概念到置顶实现

2026-05-15 14:57 by 一只老老老菜鸟, 181 阅读, 0 推荐, 收藏,
摘要:深度解析顶层窗口、活动窗口、前台窗口的区别,以及 Z 序的秘密 在日常 Windows 开发中,我们经常需要处理各种窗口操作:让提示窗浮在最前、实现弹窗置顶、管理多个窗口的层级关系……但很多开发者对 Windows 窗口管理体系的理解是零散的。本文将系统性地梳理核心概念,帮你彻底搞懂窗口的身份、状态 阅读全文

Windows实现USB设备热插拔功能

2025-05-30 18:38 by 一只老老老菜鸟, 1009 阅读, 0 推荐, 收藏,
摘要:https://learn.microsoft.com/zh-cn/windows/win32/devio/detecting-media-insertion-or-removal ### 实现步骤 1. **注册设备通知**: - 使用`RegisterDeviceNotification`注册要 阅读全文

GDI+实时绘制签名

2025-05-30 11:53 by 一只老老老菜鸟, 34 阅读, 0 推荐, 收藏,
摘要:思路: 1. 工作线程处理签名点数据(从设备获取,循环上报数据) 2. 工作线程将处理后的点数据通过消息发送到UI线程,或使用定时器 3. UI线程接收到消息后,将点数据绘制到内存位图 4. UI线程将内存位图绘制到窗口上 关键点: - 工作线程不能直接操作UI,通过发送自定义消息给UI线程 - U 阅读全文

RTTI详解(转载)

2025-05-09 10:08 by 一只老老老菜鸟, 89 阅读, 0 推荐, 收藏,
摘要:转载:https://www.cnblogs.com/MinPage/p/14638823.html 这篇RTTI实现详解写得很好,转载备份,常温常新! 0正文 在使用C++进行面向对象编程时,我们经常用到RTTI(Run Time Type Identification,运行时类型识别)。我们常常 阅读全文