
技术文章
一窝蜂117
努力下班中
展开
-
Qt之高DPI显示器(二) - 自适配解决方案分析
文章目录一、回顾二、框架说明1、ICallDPIChanged2、IDPIHelper3、悬浮窗体管理器三、方案分析1、窗口大小2、字体大小3、间距4、图标四、相关文章原文链接:Qt之高DPI显示器(二) - 自适配解决方案分析最近一直在处理高DPI问题,也花费了不少功夫,前前后后使用了多种解决方案,各种方案也都有利弊,笔者最终采用了自适配方案,虽然复杂一些,但是结果可控。这里把处理的过程记录...原创 2019-12-08 18:23:10 · 791 阅读 · 0 评论 -
Qt之高DPI显示器(一) - 解决方案整理
文章目录DPI发展1、PPI2、DPI一、Win自适应系统二、Qt机制1、Windows系统DWM缩放2、 Qt适配高DPI3、适配DPI结论三、Qt适配1、统一比例2、强制刷新3、图片适配四、自己适配1、窗口大小2、字体大小3、间距4、图标五、参考文章原文链接:Qt之高DPI显示器(一) - 解决方案整理最近一直在处理高DPI问题,也花费了不少功夫,前前后后使用了多种解决方案,各种方案也都有...原创 2019-12-08 18:03:58 · 2447 阅读 · 1 评论 -
windows之桌面程序引导功能
文章目录一、首先是获取桌面窗口句柄二、获取桌面图标位置三、效果展示经常使用windows系统的同学可能都会遇到这样一种情况,刚按照完的应用程序,可能会在桌面产生一个提示信息,指示当前快捷方式可以使用了,并给出相应的文字说明,指示该快捷方式的功能。那么大家有没有考虑过这供功能是怎么实现的呢,使用一般的窗口spy工具应该都能抓取windows系统桌面使用的窗口类,我使用彗星小助手抓取了下,效果如图...原创 2019-07-18 01:05:29 · 668 阅读 · 0 评论 -
C++ 动态生成对象
文章目录1、啰嗦一下2、实现理由3、实现思路4、测试类5、序列化和反序列化6、demo下载地址1、啰嗦一下说起C++,很多人都觉着难学,其实我也是这么觉着的,在这个移动端火到爆的时代,我都想改行了,移动端做东西那都是现有的第三方库,拿来就可以用,而且稳定性好,开发速度快,而且最关键的是出东西。在谈一谈动态生成对象,为什么强大的C++不支持呢?想用这样功能的人都必须自己实现一套这样的逻辑。...原创 2019-07-18 01:04:47 · 934 阅读 · 3 评论 -
C++线程安全日志库-Win32接口实现
分享一个C++日志库,使用Win32接口编写,而且是线程安全的日志库。比较简单,只有2个文件,容易上手,使用起来也很简单头文件如下是日志库的头文件,接口看似很多,但是使用起来最常用的也就那么几个WriteProgramLogNoMask:用来输出日志InitProgramLogExByBuf:初始化日志库CloseProgramLog:关闭日志输出,刷新内存到文件#if !de...原创 2019-07-12 07:26:35 · 222 阅读 · 0 评论 -
C++性能查看-宏定义输出
之前由于想统计代码中每个模块加载时长,因此写了一个模块加载时长统计类,使用起来也是超级方便,只需要定义一个宏即可使用方式如下:1、统计函数性能void func(){ CONSUMING_OUTPUT("className");}2、统计函数中某个模块加载时长void func(){ ... { //funcation code ...原创 2019-07-12 07:25:57 · 239 阅读 · 0 评论 -
C++消息框架-基于sigslot
文章目录一、简介二、消息三、发送者1、发送消息函数2、新增一个接收者函数3、移除一个接收者函数四、接收者五、功能测试1、消息接收类a、测试类1b、测试类22、测试代码3、测试结果六、源码一、简介上一篇文章Qt信号槽-原理分析主要讲述了Qt的信号槽实现原理,当然除了Qt的信号槽以外,还有boost的signals,sigslot和sigc++等等,都是非常不错的信号槽学习资料boost的信号...原创 2019-07-12 07:25:17 · 533 阅读 · 0 评论 -
C++屌屌的观察者模式-同步回调和异步回调
文章目录一、概述1、同步观察者2、异步观察者二、效果展示三、同步观察者四、异步观察者五、相关文章原文链接:C++屌屌的观察者模式-同步回调和异步回调一、概述说起观察者模式,也是比较简单的一种模式了,稍微工作有1年经验的同学,写起来都是666…想看观察者模式的说明可以直接上菜鸟教程|观察者模式这个地址去看。本篇文章其实就是一个简单的观察者模式,只是使用了模板的方式,把我们的回调接口进行了参...原创 2019-07-12 07:24:41 · 730 阅读 · 0 评论 -
C++解析头文件-Qt自动生成信号声明
文章目录一、瞎白话二、背景三、思路分析四、代码讲解1、类图2、内存结构声明3、QtHeaderDescription4、私有函数讲解五、分析结果六、下载一、瞎白话时间过的ZTMK,距离上一篇文章已经小半年过去了。为了安家、装修和结婚,搞得自己焦头烂额,这不是也正好赶上过年,一直没有时间写篇文章,最近终于慢慢回归正轨,所以决定写下这一篇文章,记录工作中的一些经验和内容。对于写文章这件事,我是这么...原创 2019-07-12 07:24:00 · 308 阅读 · 0 评论 -
C++解析头文件-Qt自动生成信号定义
文章目录一、概述二、实现思路三、代码讲解1、类图2、QtCppDescriptiona、类定义b、分析一个完整的函数c、插入代码3、测试3.1、测试代码3.2、实现文件测试结果3.2、头文件测试结果四、源代码一、概述上一篇文章C++解析头文件-Qt自动生成信号声明我们主要讲解了怎么去解析C++头文件,然后在指定位置插入函数声明,已达到自动化的效果。既然函数声明已经自动插入了,那么函数实现的定义...原创 2019-07-12 07:23:09 · 365 阅读 · 1 评论 -
Qt信号槽-原理分析
文章目录一、问题二、Moc1、变量2、Q_OBJECT展开后的函数声明a、qt_static_metacallb、staticMetaObjectc、metaObjectd、qt_metacaste、qt_metacall3、自定义信号三、connect四、信号触发1、直连2、队列连接五、总结六、推荐阅读一、问题学习Qt有一段时间了,信号槽用的也是666,可是对信号槽的机制还是一知半解,总觉着...原创 2019-07-12 07:15:30 · 213 阅读 · 0 评论 -
qt之fiddler抓包
最近项目中使用到了Qt的网络库,在用的过程中也发现了不少坑和问题,本文仅仅作为记录,方便日后查阅。因为我们整个客户端的gui都是使用qt来完成的,心想qt既然有网络库,而且真心觉着qt封装的控件还是不错的,所以就使用了qt的网络库,说实话qt的网络库封装的确实比较好用,所以开发过程就有条不紊的进行着,一直也没有遇到什么比较大的问题,直到开发完大半部分网络模块,交由产品测试时出现了一个问题(还是测...原创 2019-07-14 20:15:23 · 834 阅读 · 0 评论 -
msvc2013编译qt5.6源码
文章目录1、回顾2、编译理解3、依赖库4、源码下载5、编译步骤6、借鉴文章7、问题分析1、回顾说起到qt的编译,真是领人痛心啊,不仅编译选项繁多,而且编译时间比较久,总是能使想编译qt源码的人望而却步,呵呵。。。我就是其中一个,不知道从什么时候开始就想着把qt的源码编译一下,也尝试过几次,但都以失败而告终,编译的时候总是不得要领,网上的相关文章也是一大片,但总是五花八门,因为不同人的机器是不一...原创 2019-07-14 20:10:32 · 742 阅读 · 0 评论 -
C++二维码相关库编译
文章目录一、瞎想二、二维码生成工具四、qrencode-3.1.0编译五、ZBar Code六、使用七、相关链接一、瞎想坐在地铁上闲来无聊,突然想到了二维码,顺手就百度了下相关的资料,目前C++二维码相关的库不多,也就zbar(开源中国上下了半天也没下载下来)、zxing,不过这两个库据说都是解析二维码的,不能生成二维码,这个是对于C++而言,如果你是搞C#或者java的,那么恭喜你,你可以直...原创 2019-07-13 22:10:31 · 335 阅读 · 0 评论 -
windows粘贴板操作-自己的应用和windows右键互动
文章目录一、粘贴板操作函数二、操作文本数据三、操作文件2、粘贴文件四、参考文章一、粘贴板操作函数BOOL OpenClipboard(HWND hWnd);参数 hWnd 是打开剪贴板的窗口句柄,成功返回TRUE,失败返回FALSEBOOL CloseClipboard();关闭剪贴板BOOL EmptyClipboard();清空剪贴板HANDLE SetClipboardData(C...原创 2019-07-13 14:49:58 · 839 阅读 · 0 评论