
QT
文章平均质量分 89
yhl_sophia
这个作者很懒,什么都没留下…
展开
-
浅谈QT内存泄漏
01前言 前几天,项目开展了一次代码初次评审。会上,领导指出一些可能会带来内存泄漏的代码,如下图所示:图中的pLayout在new的时候没有指定任何父对象,且MainWindow的析构函数中也没有对pLayout做delete操作,这意味着为pLayout申请的内存空间在程序运行期间是一直没有得到释放的。实际上,项目代码中,还有许多这种“隐患”:一个单例类的成员变量在new的时候没有指定父对象、一个静态类的成员在new的时候没有指定父对象……这些“隐患”为何在目前程序运行时没有暴露出问题?基..原创 2021-09-22 09:18:58 · 2206 阅读 · 2 评论 -
QT QThread 多线程操作
在QT中,QT应用程序所在的线程为主线程,也称为“GUI线程”,QT GUI必须运行在此线程上;而非主线程称为“工作者线程”,主要处理从主线程中卸下的一些工作,例如数据的同步访问等。需要明确的是,同一个进程的不同线程之间共享相同的地址空间。什么时候应该使用线程? 如果一个应用程序需要处理一些耗时的数据计算时,应该用一个独立线程来做这些运算,这样用户可以提前中断或者暂停数据处理...原创 2019-03-11 17:05:25 · 8342 阅读 · 1 评论 -
继承于QObject 的多线程实现
QT中的多线程操作有两种方法可以实现,一种是直接使用官方的QThread,通过重写QThread::run()方法实现线程处理;另外一种则是通过继承QObject类的对象,将其实现函数movetoThread()实现。QThread类中的几个官方函数和信号的作用 QThread::exec() —— 使线程进入事件循环状态,并处于wait()状态,直到调用ex...原创 2019-03-04 15:41:57 · 982 阅读 · 1 评论 -
QT 事件与事件循环
事件与信号的区别 事件是针对于应用中的一个具体的目标对象,该对象决定了我们应该如何处理这个事件;而信号的发射是漫无目的的。所有的事件实例是QEvent的子类,且所有的QObject的派生类可以重载虚函数QObject::event()以实现对目标对象实例事件的处理。 事件可以产生于应用程序的内部,也可以源于外部,比如QKeyEvent代表了与键盘的交互事件,来自于视窗体...原创 2019-12-20 09:58:47 · 349 阅读 · 0 评论 -
QT 自定义插件加载失败解决办法
QT可以使用自定义插件,具体的新建自定义插件以及如何引用插件的步骤,这个博文提供了详细步骤https://www.cnblogs.com/georgeOfChina/p/7773141.html这里主要记录下自己遇到的坑:我按照博文的步骤自定义了自己的插件,但是新建工程时在designer界面始终显示不出我的插件点击“工具\Form Editor\About Qt Designer...原创 2018-11-30 16:20:13 · 7390 阅读 · 0 评论 -
QT 打包发布Release应用程序
一、用windepolyqt.exe提取应用程序依赖.dll文件QT Creator release的.exe应用程序的运行需要依赖一些动态链接库,如果在一台没有安装QT的计算机上运行就需要打包动态库拷贝过去才能运行。QT自带有windeployqt.exe可执行程序可以将应用程序所依赖的.dll文件提取出来。在这里要非常注意的一个坑:QT项目中release用的是哪个编译器,就应该运行哪...原创 2018-10-24 16:41:38 · 24900 阅读 · 12 评论 -
Qt HID通信上位机界面设计总结
项目主要是做单片机的BootLoader的升级,单片机和上位机程序通过USB通信传输bin文件进行更新,QT工具主要负责上位机程序的开发。 主要窗口有两个,为了使用nativeEvent事件监测USB设备的拔插,两个窗口都使用的继承QWidget的类型。 1、Detect窗口 程序一运行首先显示的是Detect窗口,这个窗口主要的功能就是使用nativ...原创 2018-10-18 16:53:54 · 3230 阅读 · 0 评论 -
QT监测HID设备的拔插
需要包含的头文件#include <MessageDispatcherApi.h>#include <QWidget>#include <Windows.h>#include <WinUser.h>#include <dbt.h>#include <QApplication>#include <QDeb...原创 2018-10-23 13:59:10 · 7938 阅读 · 0 评论 -
QT 正确使用hidapi库文件实现HID上位机开发
用QT做上位机界面通过USB与下位机通信,采用开源库hidapi实现HID相关功能,结果代码构建成功但运行时总是出现crash错误,而后查找发现是.dll文件没有放置在debug文件夹下,这里做一个简单记录。 总结下用QT调用hidapi库开发HID通信上位机界面需要做的前期工作如下: 1、在QT项目的头文件中将hidapi.h添加进去 2、在.pr...原创 2018-10-05 14:55:01 · 8126 阅读 · 3 评论 -
关于QT Creator调试器的安装
安装的QT Creator是 5.9.2版本,在安装的时候选择组件选上自带的MinGW调试器也是可以调试的,但考虑到要结合VS以及其兼容性,遂进行Windows SDK调试器的安装。 我用的是Win 7 + VS 2015,去微软官网的SDK存档下载对应的SDK,网址https://developer.microsoft.com/zh-cn/windows/download...原创 2018-08-10 09:51:07 · 884 阅读 · 1 评论