
Qt、QML
文章平均质量分 76
该分类记录了我使用Qt中遇到的问题及使用心得体会,工大家学习交流
DreamLife.
大家好,欢迎来到我的优快云博客!我是一名热爱技术分享的博主。在这里,我将与大家分享我对各种技术的研究和经验,希望能够帮助更多人解决问题和提升技能。
我对技术充满了热情,尤其是对Qt编程有着深入的了解和丰富的实践经验。在我的博客中,您可以找到各种涉及Qt的文章、教程和案例分析。无论您是初学者还是有一定经验的开发者,我都会尽力提供有价值的内容,帮助您不断进步。
我也注重与读者的互动交流,因此,您在我的博客中可以留下评论、提问或者分享您的经验。我会尽快回复您的问题,并与您展开有意义的讨论。我相信通过互相学习和交流,我们可以共同进步。
展开
-
Qt 事件系统负载测试:深入理解 Qt 事件处理机制
本文介绍了一个基于 Qt 的事件系统负载测试工具的实现。该工具可以模拟大量事件并实时监控事件处理性能、内存使用情况等关键指标。通过这个工具,我们可以深入理解 Qt 的事件处理机制,发现潜在的性能瓶颈,并为性能优化提供数据支持。原创 2025-04-04 21:49:22 · 872 阅读 · 0 评论 -
Qt MSVC 编译器报错 C1060
最近一直在看别人的代码,本来就云里雾里,还遇到的编译器每次编译都会报C1060 错误,开始一直以为是机器的物理内存不够了,但是监控内存发现最高也就到70%。所以还是得想法解决一下。原创 2025-02-16 18:09:00 · 602 阅读 · 0 评论 -
Qt 使用 QZipReader 解压文件
每日一坑,坑坑难过,今日在拉取上级给我的压缩包是发现总是解压有问题,总是无法完全解压,最后发现是上级的压缩文件中多了文件夹递归的情况,所以在本地进行模拟,发现可以解压,但是上级给我的就是加压不了,可以用标准的压缩工具可以解压缩,最后发现是上级在压缩的时候没有对应的目录信息,标准压缩工具是带有目录的信息,所以保险起见,我对每个文件做了取路径处理。原创 2024-07-03 11:41:09 · 784 阅读 · 0 评论 -
Qt 配置ASan
近日在调试Qt崩溃的时候,实在是没有头绪,只能请求更高水平的领导来看一下,说要跑一下ASan。但是这个是目前看来是需要切到Linux 下的,还好我的项目是Qt,难度应该不大。原创 2024-07-02 14:31:31 · 1652 阅读 · 1 评论 -
Qt 跨平台开发的一丢丢总结
最近一直在琢磨Qt跨平台开发的问题,缘由有以下几个,首先第一个,我们目前开发的软件是应该通用性的软件,所以未来应该大概率是会多平台支持。第二,软件的特性是属于监控类软件,那么长期稳定运行也是一个重要的指标,虽然现在Windows的稳定性已经很好了,但是Linux可以更胜一筹。第三,我司目前的主力技术更加精通Linux下的开发,当我们遇到问题是,他们在Windows下的经验不是很多,比如对于崩溃事件的定位,Windows下尝试了好几个工具都不理想,所以他们更希望有Linux下的软件原创 2024-04-22 23:17:01 · 764 阅读 · 1 评论 -
Qt 利用共享内存实现一次只能启动一个程序(单实例运行)
为了确保Qt程序有且只有一个实例在运行,使用QSharedMemory类来检查是否已经有一个实例在运行。QSharedMemory是Qt中用于进程间共享内存的类,利用它在不同的程序实例之间共享一个小段内存。如果一个程序启动时发现这段共享内存已经被创建,那么它可以安全地假定已经有另一个实例在运行,并可以据此决定退出或采取其他措施原创 2024-03-22 09:16:00 · 960 阅读 · 2 评论 -
QtApplets-线程池
今天咱们稍微看下Qt的线程池。`QThreadPool`,浅浅搞一下。原创 2024-02-16 22:29:05 · 1008 阅读 · 0 评论 -
Qt QPlainTextEdit高亮显示当前行
今天要在说一下GPT,当下如果你还不会用GPT,那得推荐你学习一下,这个东西可比百度好的的。如果没有GPT,那我今天分享的内容,还需要在手打一次了。因为我公司没有网,代码也没法直接复制粘贴出来。回到正题,今天我们需要 在中实现高亮当前行显示。原创 2024-01-28 17:50:45 · 1041 阅读 · 0 评论 -
Qt 多进程编程-将子程序嵌入到主窗口
今天计划是稍微研究一下Qt的多进程编程,因为最近的程序感觉有点慢,还有一个严重的问题就是会触发Windows的GDI限制,所以计划把程序分成几个进程来搞,变相的提高程序的性能多多几个GDI。因为之前是搞过嵌入程序的,不过哪个是用的别人提供的SDK库,我只需要给他一个句柄来接他的UI即可,所以没有深入了解,今天需要我自己搭建一个框架出来。原创 2024-01-08 20:52:31 · 2438 阅读 · 0 评论 -
QtApplets-SystemInfo
今天是2024年1月3日09:18:44,这也是2024年的第一篇博客,今天我们主要两件事,第一件,获取系统CPU使用率,第二件,获取系统内存使用情况。 这里因为写博客的这个本本的环境配置不是全的,没有VS编译套件,也没有对应的环境,我尝试在Windows下查找对应的pdh.lib没有找到,所以不能跑起来截图了,我今天分享的代码如果是基于Vs的编译环境,那可以直接跑起来,如果是基于mingW的环境,那需要手动指定一下pdh.lib的路径,并且吧dll拷贝到运行根目录。原创 2024-01-06 22:06:28 · 1124 阅读 · 4 评论 -
Qt_一个由单例引发的崩溃
今天简直是令人心力交瘁的一天,在公司被一个顽固的Bug纠缠了整整一天。一开始,我对这个问题的认知并不深刻,只是觉得有点小瑕疵,于是比较轻松地着手解决。我开始摸索着定位问题,态度上也没太在意,毕竟在我看来,这只是一场小小的技术挑战。然而,随着时间的推移,我逐渐意识到问题的严重性。逐渐加深的烦躁和困扰让我开始感到不安。在一度对问题轻描淡写的态度下,我终于被迫正视这个Bug所可能引发的连锁反应。随着这个问题的逐渐显露出其庞大的影响,我仿佛看到了一个漩涡,正在悄然蔓延着,威胁着整个系统的稳定性。原创 2023-11-27 23:04:17 · 1044 阅读 · 7 评论 -
Qt::WindowFlags
今天在公司解决自己的Bugs的时候,发现一个以前可以用的功能在自己的新代码里面不可用了,所以就得解决一下自己写得BUG,就是有一个功能时需要把里面的个控件 浮动出来显示,如果没有之前的参考代码,那我就直接用Tool 窗口显示了,但是呢,上一版本版本代码中竟然是通过给 控件设置空的父类来解决,也就是调用了QWidget::setParent(nullptr);虽然感觉怪怪,但是本着能跑就不要动的原则,还是维持了原来的代码,直到这个法子在新的功能中不好使用,才不得重新学一下相关的知识。原创 2023-11-05 12:16:26 · 793 阅读 · 0 评论 -
Qt QPair
今天在观摩小伙伴撸代码的时候,突然听到了QPair自己使用Qt开发这么就,竟然都不知道,所以趁没有被人发现自己是个水货,赶紧补充一下知识点。今天就学习一下QPair。原创 2023-10-11 22:32:22 · 1394 阅读 · 0 评论 -
Qt QMultiMap
今天在观摩小伙伴撸代码的时候,突然听到了QMultiMap自己使用Qt开发这么就,竟然都不知道,所以趁没有被人发现自己是个水货,赶紧补充一下知识点。今天就学习一下QMultiMap。原创 2023-10-11 21:58:05 · 614 阅读 · 0 评论 -
Qt Qml 实现键鼠长时间未操作锁屏
项目中需要实时检测用户是否长时间为操作键盘和鼠标,如果超过预设时间未操作键盘和鼠标,则退出到锁屏界面,准确的说是启动屏保,当用户再次操作键盘或鼠标,则进去登录界面,及实现长时间未操作键盘鼠标就锁屏的功能。因为是实际生产力业务代码,不方便暂时完整代码,仅分享一个思路供小伙伴们参考,如果哪里有不懂的地方或者疑问,可以直接留言问我就可以。原创 2023-05-29 13:52:48 · 2505 阅读 · 1 评论 -
Qt 解决程序全屏运行弹窗引发任务栏显示
今天眼看项目就要交付了,结果在测试程序的时候,发现在程序全品情况下,点击输入框,弹出虚拟软键盘,结果下面任务栏就给弹出来了。其实这个也不算怎么问题,主要就是如果弹出任务栏,就会导致用户可以通过任务来进入到系统其他地方,不符合网络安全相关法规。其实要解决这个问题也也有很多方法,比如可以在系统层面直接做定制,把不要的都去掉,但是按照目前时间节点是不可能实现的,所以只能在程序上想办法。原创 2023-03-03 09:55:09 · 3682 阅读 · 3 评论 -
Qt 防止程序退出
今天要聊得内容还是怎么防止别人关闭我的程序,之前都是在win下面,一般都是用过钩子连捕获键盘事件,完了吧对应的事件忽略,但是这个不能夸平台,所以我就在想有没有一个稍微通用点的方法。今天我尝试的方法是从Qt 下手,来想法解决这个问题。但是从Qt出发的话,解决的只能是程序本身,而系统还是无法屏蔽的。只能是防止别人意外按到 alt + F4结束程序,而无法做到不让别人结束程序。当然,它有可能自己就结束了,哈哈哈。原创 2023-03-03 09:55:06 · 6128 阅读 · 0 评论 -
Qt 崩溃 corrupted double-linked list Aborted
额,结论,没有搞定,最后通过守护进程先糊弄过去,这个项目过了证就扔了,所以目前不准备在修复,这里简单记录下我都尝试了那些东西corrupted double-linked list Aborted,谷歌翻译的结果就是 双链表损坏。原创 2023-03-03 09:51:47 · 2645 阅读 · 0 评论 -
Qt std :: bad_alloc
今天又是被BUG统治的一天,刚使用物理方法解决了“QVector "isDetached()"又来一个”std :: bad_alloc“,这个问题更是没法下手。只能摸索尝试,仅此记录。原创 2023-03-02 17:28:59 · 4137 阅读 · 0 评论 -
Qt COM组件导出源文件
由于厂家提供的库不是纯净C++库,是基于`COM组件`开的库,在和厂家友好交流无果下,只能研究下`Qt` 如何调用,好在`Qt` 的强大,直接提供了从`COM` 导出源文件的工具`dumpcpp.exe`今天就来摸索一番。原创 2023-02-23 10:02:11 · 4054 阅读 · 0 评论 -
Qt QMAKE_MSC_VER
今天在又有了新的小项目需要CV一下,但是第三方提供的是COM组件的库,所以第一步还是老实使用VS版本的Qt 来开发,以防不测,因为之前也没有搞过COM 开发,不了解,只能走一步看一步,今天把开发环切刀VS 的时候,报错**error: Project ERROR: msvc-version.conf loaded but QMAKE_MSC_VER isn't set**先小解决一下这个。原创 2023-02-23 10:02:01 · 2054 阅读 · 1 评论 -
Qt 某光谱仪程序开发
今天接到一个临时小任务,写一个的项目子模块的Demo,以供和专家们交流一下项目技术方案是否可行。用的是一个第三方的光谱仪,需要使用Qt 调用光谱仪的SDK,并且做一些加加减减处理。但是厂家给的竟然不是纯C++版的开发库,而是基于COM组件的库,开始看资料的时候并没有注意,光看到就是那几个接口,想着很简单,绘制曲线也是之前用过QCustcomPlot,认为没有啥难度,实际开发发现是COM组件,巧了,我还没有搞过,得研究一番。原创 2023-02-21 08:58:21 · 6338 阅读 · 0 评论 -
Qt COM组件导出源文件
由于厂家提供的库不是纯净C++库,是基于`COM组件`开的库,在和厂家友好交流无果下,只能研究下`Qt` 如何调用,好在`Qt` 的强大,直接提供了从`COM` 导出源文件的工具`dumpcpp.exe`今天就来摸索一番。原创 2023-02-18 13:46:38 · 1641 阅读 · 0 评论 -
Qt QVector “isDetached()“
今天在公司填坑的时候,有随机获得了一个新的BUG,就是一直报如下图所示。具体代码如下图所示:虽然知道这是典型的多线程共享数据的BUG,但是我还是不知道该怎么处理。原创 2023-02-03 14:18:45 · 3438 阅读 · 11 评论 -
Qt 播放音频文件的几种方式
这篇文章至少拖了有一两个月了,这不阳了,在家实在是难受的要死,无心处理工作的事情,那就写写博客吧,因为项目中需要用到播放音频的功能,CV了部分代码,这里就简单的扯扯我对`QSound `、`QSoundEffect `和`QMediaPlayer`一点点浅陋的认知。原创 2023-02-03 14:16:29 · 11523 阅读 · 10 评论 -
Debian系列-在新的GNOME下无法启动Qt
之前在公司搬砖的时候,用的虚拟机内存只给了8个G,监测程序编译的时候基本能用满,所以为了节省内从,桌面使用了`GNOME经典模式`姑且这么认为可以节省一点内存,但是还是感觉比较卡,所以就申请了为内存扩容,这会内存扩容好以后,直接给了虚拟机16G 的控件,一下子就大了,就像尝试一下 新的GNOME桌面,切到新的桌面后,发现没法启动Qt了。今天就来搞定他。原创 2022-12-23 14:35:29 · 1573 阅读 · 0 评论 -
Qt QCustomPlot 添加多个坐标系区域
之前在使用`QCustomPlot`,是将他有封装成了一个模块,一个模块仅显示一条曲线,多个通道的数据对应多个`QCustomPlot`模块,目前在使用中唯一遇到的问题就是在调用`setOpenGL(true)`的时候,会把多个`QCustomPlot`模块间的数据搞乱了,由于能力有限,在各种尝试后,任然没有解决问题,只能暂时先关闭`OpenGL`渲染,这样理论上会增加`CPU`的负载,但是目前也是没有更好的办法。原创 2022-12-23 14:31:59 · 4911 阅读 · 2 评论 -
HMI-66-【MeterDisplay for Arm Linux】液晶仪表Arm Linxu迁移
先说结论,虽然移植成功,但是显示效果不理想,可以直接看和面的视频。先说说做了什么吧。原创 2022-12-16 14:24:02 · 683 阅读 · 1 评论 -
HMI-65-【MeterDisplay for Arm Linux】液晶仪表Arm Linxu迁移环境配置
额,要开新坑了,最近这几篇都将记录下将虚拟仪表迁移到Arm Linux 开发板上面。硬件基本信息如下:**开发板:研华RSB-4710 **分辨率:1920*720刷新率:120Hz尺寸:12.1 寸64位 Arm Debian 10内核版本:4.4.194使用研华官方移植的Qt 5.12.3 Qt库,上位机同样版本。原创 2022-12-16 14:19:33 · 788 阅读 · 0 评论 -
Qt QCustomPlot 点状网格线实现和曲线坐标点拾取
今天被封控在家,但是万恶的资本家是不会让我在家摸鱼的,所以还是给了需求来,所以还是得搞。今天要接着研究`QCustomPlot`,老实说,这个也是我第一次用,也没有系统的研究过,只是用到了啥现研究,难免哪里问题或者不合理甚至是理解错误的地方。欢迎大家评论区交流。原创 2022-11-30 20:11:38 · 3796 阅读 · 3 评论 -
libusb系列-007-Qt下使用libusb1.0.26源码
Qt下使用libusb1.0.26源码原创 2022-11-18 20:15:14 · 1680 阅读 · 0 评论 -
Qt ARM+Linux平台调用一个库的时候,报错“Bus error”
今天接招早Bug,昨天还好好的,今天把某个功能移植进去,就在Arm上报`Bus error`错误了,死活不给运行,还好有问题我们可以谷歌,这要是放以前在军工单位写代码,那不得憋死。下面看看吧。原创 2022-11-18 20:12:31 · 2418 阅读 · 2 评论 -
Qt error: fatal error: Killed signal terminated program cc1plus
今天接在在公司写Bug,准备编译程序,结果触发了新的问题`error: fatal error: Killed signal terminated program cc1plus`下面看我怎么解决吧。原创 2022-11-18 20:11:42 · 2673 阅读 · 0 评论 -
Qt 设置CPU亲缘性,把进程和线程绑定到CPU核心上(Linux)
哎呀,说多了都是泪,一直以为Arm Linux 天下无敌,谁知道性能还是没法和PC比,不过也是,毕竟功耗在那摆着呢。这不,最近遇到了一个问题,就是使用[QCustomPlot](https://www.qcustomplot.com/index.php/introduction)绘制曲线的时候,在一屏200个点的时候没有问题,但是当我绘制 `8K×5×2`个点的时候,就卡的要死要死的,虽然加入了线程,但是还是未解决,所以就想到了这个,设置CPU亲缘性,但是每个平台的设置方式还不一样,所以今天的这个是在`Li原创 2022-11-18 20:10:21 · 6912 阅读 · 1 评论 -
Qt sqlite3.o: undefined reference to symbol ‘dlclose@@GLIBC_2.2.5‘
最近搞Qt的项目,需要用到SQLite3来保存数据,本来是可以直接使用Qt的库的,但是呢,保险起见,为了跨平台移植代码,还是把SQLite的源码也搞进来,在Win下没有发现问题,在切换到Linux下视,发现报错`sqlite3.o: undefined reference to symbol 'dlclose@@GLIBC_2.2.5'`原创 2022-11-18 20:08:26 · 1222 阅读 · 3 评论 -
Qt QObject::connect: Cannot queue arguments of type ‘***’
这个问题在win的没有太注意有没有这个问题,但是切刀Linux下,看到,那就解决了他。原创 2022-11-18 20:06:54 · 880 阅读 · 0 评论 -
Qt QObject Cannot create children for a parent that is in a different thread
今天在搞代码的时候,触发了新的不问题,也不是BUG,就是在控制台有红色的日志输出,红色,那应该就是比较重要的内容了,所以要重点照顾一下。原创 2022-11-18 20:05:42 · 1041 阅读 · 0 评论 -
libusb系列-006-Qt下使用libusb1.0.9源码
这个1.0.9版本的代码移植其实我是有参考的,所以这里可以省去很多步骤,比如通过编译源码查看linux需要连接那些库,从而知道需要在项目中包含那些源文件,我可以直接在Qt里面加入源文件调试通即可原创 2022-11-18 11:30:02 · 894 阅读 · 0 评论 -
HMI-46-【多媒体】Title界面实现 1
今天我将尝试实现以下多媒体部的Title部分,主要是时间、左右空调温度。原创 2022-04-02 08:10:55 · 775 阅读 · 0 评论 -
QtApplets-QTextToSpeechDemo
哎呀妈呀,这个系列应该有好长一段时间没有更细了,因为啥呢,主要是因为这一段时间都在折腾Debian 10 下的软件开发,都是在调试代码,实在是没有啥新功能需要试验的,有的也是在Linux下的设置,脚本啥的,与Qt相关,没有啥新的功能。所以就耽搁了。原创 2022-10-26 14:56:02 · 1105 阅读 · 1 评论