- 博客(75)
- 资源 (2)
- 问答 (1)
- 收藏
- 关注
原创 程序界面无法拖拽到4K副屏问题
1. 如果在代码设计之初就能想到扩展4k副屏的需求,那就最好了,但是很少有人能想到2. 代码实现的不好,什么events函数都有,都要自己实现,还没实现好,这样还影响排查3. 使用方法要用新的,过时的尽快更新4. 多屏幕显示,要注意分辨率和缩放率的不同。
2025-03-24 10:21:37
565
原创 银河麒麟V10SP1下qt5-12-12编译环境配置
下面的脚本在兆芯版kylin上试过,如果是本地编译,arm版应该也没有问题。a. 如果执行脚本安装有问题,读者可以拷贝命令多次安装。b. 建议在虚拟机环境下进行。
2025-02-17 16:59:02
304
原创 继承QLineEdit类实现自动补全功能
但是在开发过程中发现,输入的字符串如果匹配那么QCompleter类会弹窗显示匹配项,如果输入的字符串不匹配则QCompleter类会关闭弹出(这点我也倒是能理解,没有弹窗就表示没有匹配项)。原本考虑继承QLineEidt类并增加自动补全类,后面发现其实在QLineEdit + QCompleter的基础上再修改一下就可以达到上面的效果。QlineEdit类本身是没有自动补全功能的,可以使用QCompleter配合实现功能。然而界面设计师认为应该在没有匹配项时,弹窗显示内容提示用户,增强与用户的交互。
2025-02-09 22:25:11
229
原创 QQuickWidget嵌入界面后拖拽界面有黑边
问题如视频所示,当界面中存在QQuickWidget控件时,使用鼠标拖拽缩放界面会导致界面出现黑边,应用同事怀疑QQuickWidget控件的问题。经过考虑决定不优化QQuickWidget内部实现(因为其他笔记本上没有复现),降低资源消耗,实际上我也没能力修改,所以。在实际排查中发现,存在拖拽控件时可能会导致拖拽时界面出现黑框,禁用了拖拽控件就没有,在此记录一下。当时在使用后我有一个疑虑,为什么调用。注意界面右下角状态的拖拽控件,如图。使用软件渲染的效果,在qt官网找到一些资料,
2025-01-12 13:37:10
901
原创 GammaRay编译部署
克隆GammaRay项目,查看工程下的INSTALL.md,文档的前面会描述要求的qt版本,我选择GammaRay v3.0.1版本,支持的qt版本比较多,包括了qt5.12和qt5.15。接着,创建安装必要的软件,我尽量安装的比较全面,如果只为了编译通过,可能不需要安装这么多。
2024-12-27 14:29:21
249
1
原创 clang-tidy的调研记录(二)
(2) 仅能自动执行一个注册匹配器函数 和 一个检测函数,不灵活,有些复杂的判断逻辑不好在检测函数中写。笔记中的方法去实现一些简单的检测项还行,若要是复杂了,对于小白的我来说要花费很大精力来熟悉clang框架,性价比不高。(1) 代码中匹配到对象的类型复杂,需要去clang说明手册中查找类和类之间的继承关系。能够被经常使用的匹配语句大概也就是几十种,起码是一个有限的数量,但是可以根据检测项需求,搭配出多种组合。于是,我想到了一个方法,只需要clang提供AST内容,剩下的自己写代码去解析AST,思路如下。
2024-11-07 08:05:39
388
原创 QcomboBox 增加内容过长以省略号显示
这样的原始效果不太美观,测试同事希望过长的内容使用省略号显示,另外增加鼠标悬浮显示tooltips。出来增加显示省略号的功能,我还考虑当下拉选项包含icon的情况,重新计算控件的宽度。QcomboBox控件选择内容很多的下拉选项时,内容会被截断,如下图。操作系统: ubuntu24.04。qt版本 : 5.12.12。
2024-10-27 20:14:16
392
原创 clazy的使用
Clazy是一个基于Clang编译器的Qt框架的静态分析器,以下是对其详细介绍:一、功能特点问题检测 : Clazy可以在编译阶段帮助开发者找到可能存在的问题和潜在的风险,如常见错误、不规范的写法、低效的算法、内存泄漏等。Qt语义理解 : 作为一个专门针对Qt语法进行检查的工具,Clazy提供了超过50个与Qt相关的编译器警告,范围从不必要的内存分配到API的滥用,包括用于自动重构的修复建议。
2024-10-16 09:52:51
573
原创 QT窗口无法激活弹出问题排查记录
在修改测试过程中,发现偶尔能弹出来,但概率很低,然后我再把参数都恢复,发现也能偶尔弹出来,此刻我感觉和修改xcb_send_event参数没有什么关系了。首先,我想写个简易的demo来复现这个问题,但是下面所示的代码并不能复现出上面提到的问题,最小化窗口可以被激活弹出,所以我还是得用原来的代码进行排查。在测试中发现,定时器第一次触发激活窗口的现象只是任务栏的图标闪烁,但窗口不弹出,而在第二次触发时窗口从任务栏中弹出,一般情况下第二次触发就能弹出了。为什么第一次触发激活窗口没有成功?
2024-09-23 14:02:13
925
原创 工作烦恼与吐槽
虽然我自己梳理了一些排查步骤,不过还是很难落地。本质上还是没有一个能快速划分问题责任的方式,有些问题看起来是qt问题而且也不好推给应用,我也不想去为了一个问题归属扯皮(可能再干烦了就会去扯皮了)
2024-09-20 07:19:56
872
原创 华为L420切换显示器影音应用闪退问题
操作系统 : 银河麒麟V10SP1qt版本 : qt5.13电脑型号 : HUAWEI QingYun L420 KLVV-W5821。
2024-08-11 10:25:10
293
原创 银河麒麟(V10SP1)-arm版交叉编译-qt-5.12.12源码
确实是编译出来了qtbase库和qtwebengine库,如果按照文章没有操作出来有两种情况(1) 读者阅读不仔细(2) 我后期记录整理时写错了。
2024-07-06 13:15:05
2234
原创 clang-tidy的调研记录(一)
本篇文章记录了有关clang-tidy工具的编译、使用、和扩展脚本编写,大部分都是从网上学习的,取之以网,用之以网其实代码规范检测工具也挺多的,但是我想找一款免费、参考资料多、可扩展自定义(非常需要)的代码规范检测工具,最后敲定还是选择了clang-tidy以前用过cppCheck,但是感觉规则项检查少点,而且好像没有扩展自定义,这次就不考虑了clang-tidy是开源项目LLVM项目的一部分,所以需要先编译LLVM项目,clang-tidy也顺便就编译出来了也许clang-tidy可以单独编译,或者有更简
2024-06-01 13:28:14
1187
原创 解决本地环境编译qt5.12.12源码没有libqxcb的问题
大概的提示是 qt.qpa.plugin: Could not load the Qt platform plugin "xcb" in "xxx" even though it was found.后面编译完发现,plugins/platforms/目录下没有生成库文件libqxcb.so,造成了一点麻烦。最近要研究一下qt源码,因为设计到要修改源码,所以需要编译源码并替换修改的库文件运行验证。我这里使用的是qt5.12.12版本,去官网上下载对应版本的安装包,安装时勾选上源码即可。
2024-05-11 16:22:34
3084
原创 使用gogs搭建git服务器-注意事项
自己的服务器上一直是用gitlab部署作为git服务,但是gitlab对机器的内存要求有点高,4G内存的小服务器开了gitlab就剩下几百兆内存了,别的服务器就受限制了,于是决定更换一个。其实我对仓库管理系统要求没有太高,正常的上传下载浏览就行了。最后决定使用gogs。
2024-04-22 13:51:12
542
原创 【spdlog学习】【issue】#2975-编译时设置宏定义SPDLOG_ACTIVE_LEVEL对日志等级的影响
开源项目没能力贡献,就通过问题学习学习,开阔一下眼界
2024-04-02 11:56:00
514
原创 [字符编码]windwos下使用libiconv转换编码格式(二)
因为代码中向libiconv库函数传递的字符串是存放在堆空间中的(我也是从网上找例子测试,是否一定要开辟堆空间存放还有待考证),如果一次性转换的字节数很巨大的话,就会导致内存空间不足,进而引发功能异常。除了上面说的字节数固定的情况,还有向utf8这种字符字节数会变化的情况,这种转换则需要复杂些的处理。经过观察,有的编码格式每个字符对应的字节是固定的,这样分段是容易的。格式,一个字符占两个字节,那么每次处理的字节数就是2的整倍数即可。所以,对于需要大量转换的数据,应该采取分段多次转换的方法。
2023-12-23 13:21:20
1359
原创 [字符编码]windwos下使用libiconv转换编码格式(一)
其实我自己也仿照人家写了一个,但是有问题,转换成功了,但是获取不到转换内容,还是自己学艺不精啊,我想这和指针方面有关系,以后还得研究研究【TDOO】libiconv.lib是用自己编译libiconv-1.15版本源码生成的,当然下面的代码只是一个demo,仅仅是展示效果。函数是从网上抄的,自己又整理了一下,这个函数是核心,是关键。目前使用字符转换的类型不考虑太多,先实现工作中常用的转换。其他编码格式遇到再说。工作中常用的转换类型就是。
2023-12-09 13:48:01
693
原创 [字符编码]在windows下编译libiconv库
4. 修改iconv.c文件,[size_t iconv (iconv_t icd, ICONV_CONST char* * inbuf, size_t *inbytesleft, char* * outbuf, size_t *outbytesleft)]改为。2. 修改iconv.h文件,[extern DLL_VARIABLE int _libiconv_version;](24行) 改为 [extern /* DLL_VARIABLE */ int _libiconv_version;
2023-12-06 22:43:46
1671
原创 [字符编码]基础知识
Unicode可以使用的编码方案有三种,分别是 :UTF-8 : 一种变长的编码方案,使用1~4个字节来存储,具体的表现形式为0xxxxxxx 单字节编码形式,这和 ASCII 编码完全一样,因此 UTF-8 是兼容 ASCII 的110xxxxx 10xxxxxx 双字节编码形式(第一个字节有两个连续的 1)
2023-12-06 11:19:13
889
原创 解决QTextBrowser控件调用setSource函数显示中文乱码的问题
直接把工程源文件放上来了,直接拷贝用,另外测试的html文件就靠读者自备了。自己发现的一个小技巧,有更好的方法欢迎大佬赐教。
2023-10-30 16:13:16
705
原创 【随笔】合并时间段的逻辑的整理
我记得leetcode上好像有类似这个的题,那个解法应该更简洁,我这个就是梳理了一下逻辑然后记录下来,方便以后查看,大家如果发现问题,欢迎指正。话说用文本画图也挺方便的,还感觉挺好看的。
2023-03-12 22:51:28
339
原创 【随笔】:对工厂+策略的思考
现在需要创建的有控件和具体的算法配置界面,控件是在配置界面中创建的,所以不用考虑控件,配置界面类像产品类,只有这一种产品,所以用简单工厂就足够了。现在来看看算法配置界面类,这里用A来表示类对象,A对象在被调用时需要知道显示哪个算法规则的界面,常规思路就是if else,那么外界传来一个枚举值M(表示展示哪个算法界面),A的内部就需要去用if else来判断,M=1就是展示算法规则1的界面,M=2就是展示算法规则2的界面,这个if else中对应的就是上面所述的第二步和第三步。
2023-02-25 11:38:28
664
原创 【deepin】【qt】解决透明背景变为黑色问题
参照上面的博客试了试,我这边只需要用到下面的代码即可,这个控件对应的样式表中没有再设置有关透明的属性,所以就不展示了。我自己电脑的操作系统信息如下,qt版本是qt5.15.2。CentOS下Qt窗口透明效果失效,成黑色背景的问题。接着需要设置一下系统,如下图,把。
2022-10-22 15:35:16
3379
1
原创 break pad源码编译--参考大佬博客的总结
主要讲的是参考其他博客进行break pad 源码编译时遇到的问题以及解决方法,在此做一个总结记录
2022-08-08 14:19:48
1015
5
原创 多选下拉框(改进版)
根据 https://blog.youkuaiyun.com/qq_43793182/article/details/122080407 博客改进的一个comboBox多选控件
2022-07-03 19:12:27
673
原创 银河麒麟(V10)-arm版交叉编译-qt-5.13.2源码
目的了解如何在x86架构电脑下进行arm程序的交叉编译了解如何对qt源码程序的交叉编译了解如何进行qt程序的交叉编译在网上借鉴了很多大佬的分享,所以自己也总结一下自己经验,希望帮助更多的人希望大佬积极纠错,大家共同成长准备步骤 交叉编译要注意版本问题,主要是向目标机器(最终要运行程序的机器)看齐,多花一些时间把目标机器开发环境的版本搞清楚,找到对应版本的交叉编译链,后面的大方向大多是正确的。 这次目标机器搭载了银河麒麟(V10 注意不是V10 SP1),版本信息如下Linux ve
2022-04-24 23:09:23
7024
7
原创 头文件定义全局变量的探究
问题的引入 今天在自己编程的时候,遇到了一个问题,让我更加深入的了解了一些C++的语法,让我受益匪浅,这是今天遇到的问题 我在一个头文件中定义了一个全局变量的字符串指针变量,有多个头文件都会引用这个头文件,在编译的时候遇到了这个错误。从这一个问题上我又思考到了别的问题,在这里一并记录,以便后期理解。本篇笔记都是用C++进行的测试在头文件中定义全局变量是对的吗? 既然思考,我便从头开始思考这个问题,为此我开始写demo做测试,在定义未经过修饰的全局时编译会报错。 虽然经常会写代码,但是
2022-04-10 12:50:56
5866
6
原创 基于git的dos2unix格式转换shell脚本
工作中遇到的问题,在这个简单记录一下,需要跨平台编译程序,但是从git上拉下来的文本文件都是dos格式的,比如一些要在linux下执行的脚本文件就失效了,自己就写了一个小脚本来进行转换,虽然很简单,不过我觉得还挺实用,所以在这里记录一下。 有高手发现错误请指正,谢谢。#!/bin/bash#此脚本递归遍历给定目录下的所有文件,将dos格式转换为unix#核心的转换使用git 工具的dos2unix.exe 因此需要安装git#目录最后不需要输入/ 请注意.........
2022-03-09 17:07:47
1750
原创 QT属性动画--设置样式属性(其他属性)
这里写自定义目录标题故事背景遇到的问题解决过程最终方法感悟故事背景 最近在制作一个按钮切换的动画特效中接触了属性动画这部分内容,并由此产生了一些思考。遇到的问题解决过程最终方法感悟...
2022-03-02 22:52:27
6626
1
原创 使用woboq_codebrowser工具以html形式浏览项目源码
学习一个开源项目,总要去熟悉源码,为了方便浏览源码,我试着使用woboq_codebrowser。本文记录了搭建环境到使用的过程,希望能帮到读者。研究的过程中参考了许多优秀博客,在最后我会贴出对应的链接。
2021-12-05 15:47:48
3970
1
原创 ubuntu 创建桌面启动器
桌面应用|为你的 Linux 应用创建 .desktop 文件Linux 创建启动器(.Desktop文件) - 简书基本依靠这两篇文章就可以搞定需要注意的是,如果你想更新一下desktop文件的内容,记得需要将文件重新向/usr/share/applications 目录中拷贝一遍达到更新内容的效果。desktop文件内容[Desktop Entry]Encoding=UTF-8Version=1.0Type=ApplicationTerminal=falseE
2021-09-27 23:11:44
1160
原创 ubuntu 监测键盘输入
背景 在项目中使用到了一个windows的钩子函数,主要是键盘钩子,感觉很有意思,于是想看看linux下的钩子函数,也实现一个监测键盘输入的功能,这样就可以屏蔽一些按键的输入。过程 手上只有一个ubuntu20.04系统的电脑,所以就用这个来研究一下,刚开始就是去找linux的钩子函数,但是在网上查找了一下没有找到,到目前为止我也不确定linux到底有没有类型windows这样的键盘钩子函数,如果有哪位大神知道请指点我一下。 没有找到linu...
2021-09-24 23:01:43
2138
qt 使用 openssl aes-cbc demo
2024-01-31
数据交互的协议商定规则
2023-12-28
C++ 异常标准库的疑惑
2021-06-14
TA创建的收藏夹 TA关注的收藏夹
TA关注的人