自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(58)
  • 资源 (2)
  • 收藏
  • 关注

原创 软件崩溃自动生成dump

软件自动生成dump

2024-05-31 14:36:38 276

原创 spdlog 使用

spdlog 使用

2024-05-29 13:27:11 300

原创 QT连接SQLITE 数据库

qt 使用sqlite

2024-05-29 11:18:00 375

原创 Qt读取配置文件.ini

qt 读取 .ini文件

2024-05-13 16:41:49 212

原创 Qt 判断当前窗口是否在最前面

还有一种情况是非模态下的弹窗,当前弹窗出现时,弹窗之外的部分控件不能操作。这时需要对界面之前固定的控件做限制。网上有的说用isActiveWindow 判断当前弹窗状态,该函数智能判断当前窗口是否处于活动中。无法判断当前窗口是否在最前面。尤其是在有多个非模态弹窗的情况下。这种时候就需要找出对应的所有弹窗进行判断,去除需要判断的。有时界面出现弹窗时,需要在当前弹窗操作结束后,才能进行其他操作。这种情况一般将弹窗设置模态的就可以了,函数 setModal(true)如果需要判断固定窗口,判断时排除改窗口即可。

2023-08-03 10:50:35 1094

原创 QDebug 自定义信息输出到文件

qt 自定义log到指定文件

2023-06-29 17:38:14 744

原创 c++ 一个简单的线程池示例

c++ 线程池

2023-06-27 16:18:44 323

原创 windows下编译 quazip

git是因为执行cmake过程中会自动下载 bzip的代码加入到编译过程。全程无需人工干预。如果没有git软件,会报错误无法下载对应的工程。

2023-04-04 16:28:10 532

原创 0xc000007b解决办法

0xc000007b 程序报错解决办法

2023-03-09 09:34:31 251

原创 一个sdk接口完成说所有功能设计

接口较多的sdk设计

2023-03-07 13:04:56 159

原创 unable to open database file Error opening database 问题处理

unable to open database file Error opening database 错误处理

2023-03-02 15:32:15 2066

原创 软件提示缺少 api-ms-win-core*.dll时解决办法

软件提示缺少系统的api-ms-*.dll

2023-03-02 09:44:21 964

原创 qt样式有时不生效问题分析

qt 样式表设置不立即生效

2023-02-21 15:49:45 1667

原创 vs C2039 “xxx“:不是“xxx“的成员 解决办法

类中已经声明成员函数,编译依旧报该函数不是类中的成员

2022-12-01 17:01:30 8729 2

原创 IcmpSendEcho 获取网速

x64 IcmpSendEcho 获取网速

2022-11-10 15:33:53 237

原创 信号槽连接失败原因分析

Qt信号槽连接失败原因

2022-09-27 10:56:55 584

原创 error C2143: 语法错误: 缺少“;”(在“*”的前面)

error C2143: 语法错误: 缺少“;”(在“*”的前面) 解决办法

2022-08-12 11:13:49 4419 2

原创 mysql数据迁移到另一个服务中

迁移数据库

2022-07-21 16:26:29 1521

原创 Qt串口通信知识梳理

串口定义串口通信解释:串口通信,串口按位(bit)发送和接收字节。尽管比按字节(byte)的并行通信慢,但是串口可以在使用一根线发送数据的同时用另一根线接收数据。串口通信最重要的参数是波特率、数据位、停止位和奇偶校验。对于两个进行通信的端口,这些参数必须匹配。波特率是串口通信的速率,即在串口通信时每秒钟可以传输多少个二进制位。例如,每秒钟可以传输9600个二进制位,波特率就是9600。。数据位这是衡量通信中实际数据位的参数。当计算机发送一个信息包,实际的数据往往不会是8位的,标准的值是6、7和8

2022-07-13 14:45:46 1335

原创 QT发布release版本时无法显示gif图片

Qt release版本无法显示gif图片问题

2022-07-08 10:49:57 858

原创 vs本地调试dll文件

遇到一些问题,需要调试dll文件进行调试,环境配置如下打开dll工程1.鼠标右键dll项目,属性->配置属性->调试->命令在命令中填写使用dll的.exe文件的路经。2.将新生成的dll 环境放到.exe的所在路径。3.开始运行即可打断点进行调试。...

2022-04-19 15:28:17 2400

原创 WinRAR.exe压缩文件夹的脚本bat

压缩脚本将该脚本复制下来,放到文本编辑器中。最后将文件的后缀名改为.bat保存后将该脚本放在需要打包文件的同级目录。xcopy /E/Y .\destfile .\tmpfiledestfile这个值改为你需要打包的文件夹得名字。然后双击改脚本即可。注意:WinRAR.exe的安装目录C:\Program Files\WinRAR\WinRAR.exe压缩脚本:@echo offecho clear flie.......::删除临时文件夹rd /s/q .\tmpfile

2022-03-14 15:41:49 1463

原创 解决keil总是全部编译问题

keil 总是全部编译,工程中该取消打勾的已取消,也总是全部编译。该方案解决这类的总是全部编译问题

2022-01-17 12:05:55 4192 2

原创 加上头文件依旧报Undefine问题解决

问题描述:加上对应的头文件后,函数依旧报Underfine。.h和.cpp有对应的声明和实现。问题分析:开始觉得很奇怪,明明已经实现了,并且已经定义。后来查发现。我是c++和c混合编程。我所添加的头文件是纯c的。解决办法:在存c的头文件加上条件编译即可,然后编译就不再报错了。如下#ifdef __cplusplusextern "C" {#endif//纯C代码#ifdef __cplusplus}#endif...

2021-09-07 17:05:41 524

原创 QtCreater编译现有有工程

编译其他人发的内容,遇到一些问题在此记录一下。前提条件:已配置好对应的qt版本1.找打.pro文件,双击该文件。结果报了下面的错误这时因为.user文件时该工程在别人电脑上的环境配置信息,在自己电脑上无法使用。解决办法是:关闭工程文件,删掉.user文件,然后在双击.pro文件即可,这样生成了自己的.user文件。2.在次打开.pro文件时。出现下面情况该工程下没有对应的源码,是个空的,但是打开配置文件有对应的消息。这时因为没有添加qt配置信息导致的解决办法:点击项目->Manag

2021-09-02 17:38:53 315

原创 记录鼠标点击时间

工程使用QT5.14.2下载地址:qt-opensource-windows-x86-5.14.2.exe记录鼠标点击时间,计算鼠标两次点击的时间间隔软件示意鼠标点击一次记录与上次点击相差的时间。头文件:#ifndef MAINWINDOW_H#define MAINWINDOW_H#include <QMainWindow>#include <QEvent>#include <QMouseEvent>QT_BEGIN_NAMESPACEnam

2021-09-02 15:33:27 1834

原创 应用程序无法正常启动0xc000007b问题解决

问题描述用vs编写的win32程序,在其他32位电脑上报vcruntime140.dll确实错误。最后将C:\Windows\System32下的vcruntime140.dll拷贝到文件运行目录,结果报0x0000007b错误。问题查找:使用vs自带的dumpbin工具查看动态库位数D:\Program Files (x86)\Microsoft Visual Studio\2019\Professional>dumpbin /headers C:\Windows\System32\vcru

2021-08-26 17:01:38 2526 1

原创 STM32开发中文资料

这里写自定义目录标题STM32开发文档。STM32开发文档。网上找了很久,都没有找到合适的,最近发现一个比较好的STM资源,该资源下STM相关中文文档应有尽有,再次分享一下http://www.openedv.com/docs/index.html...

2021-08-19 11:52:45 254

原创 qDebug()输出存在char中的16进制数字

qDebug()输出存在char中的16进制数字1.问题描述char cTmp[3] = {0x00, 0x01, 0x02}; 在ide的输出窗口打印该数据2.实现方法#include<QDebug>#include<QString>int main(){ char cTmp[3] = {0x00, 0x01, 0x02}; QString strTmp; for(int n = 0; n<sizeof(cTmp); n++) { st

2021-07-23 17:41:02 6675 1

原创 C4430编译错误解决办法

C4430编译错误解决办法c4430官方文档介绍该文提主要是由于未定义类型引起的,导致编译的时候无法确认两者类型。C4430一般伴随着c2143和c2146出现。引起的原因可能有一:头文件互相包,比如a.h包含b.h,而b.h包含a.h 。该种情况,编译器无法同时确认a中和b中的类型,这种情况会报出c4430错误。解决办法是除其中一个头文件即可二:头文件包含顺序不对。具体原因不知道,我的遇到该原因,解决办法是:调整头文件包含顺序。三:如官方文档所说,编译器默认int为错误。如果要忽略

2021-06-08 10:29:27 4882

原创 c++11新特性之emplace

C++11新加入的的三个成员emlace_front、empace 和 emplace_back,这三个操作,这三个操作分别对应push_front、insert 和push_back,他们都是插入数据用的。 emplace最大的特点是可以直接调用对象的构造函数,直接在对应容器的内中建立对象,省去了调用拷贝构造函数的开销。封装一个类型A,然后用A去测试#include<vector>#include<iostream>using namesapce std:class A{

2021-05-10 13:01:18 283

原创 设计模式-策略模式

策略模式主要用来使用一系列的算法,或者对一个问题不同实现方式的情况。他方便使用和扩展,统一使用一个接口。Strategy:方法基类,具体算法主要由其子类去实现StrategyOne,StratgyTwo:具体方法类,主要实现了DoSomething()方法。Client: 控制类,主要用来执行算法。下面是使用场景:小明要去北京,有坐飞机和做高铁两种选择。代码class Strategy{ virtual void DoSomething() = 0; virtual ~St

2021-05-10 12:45:51 79

原创 设计模式-命令模式

命令模式主要应用于发送命令,将要发送的数据封装成一个对象后再发送给接收者。当然也可以简单的使用一个链表把所有要发送的数据都存到这个链表里,这样非常简单。但是这有一个缺点,只能发送同种类型的数据,如果要新增数据,需要在链表里添加这个数据,这显然违背了“对修改关闭,对扩展开放“的重要设计原则。为了方便管理与扩展,采用命令模式去做这件事情比较合适。Invoker: 命令的发送者Command: 抽象接口,需要子类去

2021-05-09 23:50:22 50

原创 设计模式-适配器模式

适配器主要用来兼容其他接口,重复使用该类,类的适配器模式是把适配的类的API转换成为目标类的API。在增加新功能时,为了不改变现有的接口,可以考虑使用适配器。下面这种情况比较适用于适配器:我国电器的电压与国外的电压不一样,比如国内是220v,而美国的供电电压是120,如果直接从国外买来的电器需要经过一个变压才能在家里正常使用。我们在不改变家里面供电电压的情况下可以使用适配器模式Target: 接口基类。定义方法ConcreteTarget:具体方法类,实现了基类中定义的接口。即中国的供电电压Ad

2021-05-09 23:48:18 62

原创 设计模式-桥接模式

桥梁模式的目的是"将抽象化与实现化脱耦,使得二者可以独立地变化"。**当一个对象的变化有两个或者两个以上维度变化的时候比较适合用桥接模式。**比如这种情况,有不同款式和颜色的衣服,衣服有上衣,裤子和外套;颜色类别有红色黄色和黑色。该衣服对象有款式和颜色两个维度。如果一种类型一个类的话,3种款式的衣服加上3种款式的颜色一共就有9种情况。这种情况下势必会造成创建大量的类,造成代码臃肿不堪。如果才有桥接模式,最后组合成具体的对象,只需要组合衣服和颜色两种类即可,如果有新的款式和颜色添加,只需要增加对应的款式和颜色

2021-05-09 23:46:10 60

原创 设计模式-建造者模式

建造者模式也是用来生产对象的,它与工厂模式不同的是,建造者强调的是分步生成对象,当一个类的构造函数参数个数较多时,而且这些参数有些是可选的参数,可以考虑使用构造者模式。Product: 最终要生成的对象。Builder:构建者的抽象基类。主要定义了Product的创建步骤,其派生类需要实现这些步骤。其会包含一个用来返回最终产品的方法Product getProduct()。ConcreteBuilder: Builder的具体是实现类。Director: 决定如何构建最终产品的算法. Constr

2021-05-09 23:44:07 58

原创 设计模式-模板模式

模板模式主要用来定义操作的骨架,可以在不改变原有操作顺序的情况下增加新的同类型操作的对象。或者定义一些算法骨架,采用不同的实现方法去实现,使得代码看起来统一整洁。TemplatePattern: 接口类,定义方法接口,一个算法或者操作的骨架ConcreteTwo: 一种操作的具体实现,继承了基类TemplatePattern, 实现了具体的步骤ConcreteOne: 一种操作的其他实现,继承了基类TemplatePattern, 实现了具体的步骤代码示例class TemplatePatter

2021-05-09 23:39:36 75

原创 设计模式-策略模式

策略模式主要用来使用一系列的算法,或者对一个问题不同实现方式的情况。他方便使用和扩展,统一使用一个接口。Strategy:方法基类,具体算法主要由其子类去实现StrategyOne,StratgyTwo:具体方法类,主要实现了DoSomething()方法。Client: 控制类,主要用来执行算法。下面是使用场景:小明要去北京,有坐飞机和做高铁两种选择。代码class Strategy{ virtual void DoSomething() = 0; virtual ~St

2021-05-09 23:38:22 59

原创 设计模式-观察者模式

观察者模式是松耦合,对象通过抽象接口像观察者发送信息。当对象发生变化时,所有的观察者都能收到对应的信息。这一点和发布-订阅模式很像,但又不同。发布-订阅是完全不耦合的,发布者和订阅者双方都不知道对方的信息,双方通过第三者消息队列进行交流信息。Observer: 观察者抽象接口,所有观察者都要继承该类。ConcreteObserver: 具体的观察者,获取观察对象的状态变化。Subject: 观察对象的抽象接口。ConcreteSubject:具体的对象,对所有观察者进行记录,等到自己的状态发生变化

2021-05-09 23:36:14 60

原创 设计模式-责任链模式

责任链模式使多个对象都有机会去处理请求,从而避免接收者和发送者之间的耦合关系,将这个对象连成一条链,并沿着这条链传递该请求,直到有一个对象处理他为止。责任链上的对像只要满足处理条件都可以对请求进行处理,如果不满足,则将此请求传递给链上的下一个对像。Handler: 责任链基类,定义具体接口。ConcreteHandlerOne: 责任链上的一个具体对象,可以处理请求,也可以把请求传递给下一个对象。ConcreteHandlerTwo: 责任链上的一个另一个具体对象,可以处理请求,也可以把请求传递给

2021-05-09 23:33:18 59

STM32H743参考手册中文版.rar

STM32H743参考手册中文版参考资料

2021-09-16

moupress.rar

记录按下鼠标左键的两次时间间隔

2021-09-02

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除