自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(52)
  • 资源 (5)
  • 收藏
  • 关注

原创 LNK2038 检测到“_ITERATOR_DEBUG_LEVEL”的不匹配项: 值“0”不匹配值“2”

LNK2038 检测到“RuntimeLibrary”的不匹配项: 值“MD_DynamicRelease”LNK2038 检测到“_ITERATOR_DEBUG_LEVEL”的不匹配项: 值“0”不匹配值“2”右键属性,删除预处理器中的“_DEBUG”

2023-08-24 16:45:40 211

原创 使用低版本vcpkg时,bootstrap-vcpkg.bat无法生成vcpkg.exe的可能原因

需要使用vcpkg中低版本的第三方库,下载vcpkg后,回退至指定版本,运行bootstrap-vcpkg.bat生成vcpkg.exe时,命令行窗口总是一闪而过,但是vcpkg.exe却没有生成。

2023-08-16 16:38:03 556

原创 在Windows中安装极狐GitLab Runner(解决 Host key verification failed.)

如果遇到:Failed to start GitLab Runner: The service did not start due to a logon failure.新建文本,填入上面的内容,后缀名修改成.cmd,用管理员权限运行。如果遇到类似账户名不可用之类的错误,尝试在用户名前添加 .\。复制用户目录下id_rsa.pub的内容。将该数据填入GitLab配置公钥置处。否则会出现以下错误,无法拉取子模块。

2023-06-04 10:45:13 948

原创 通过注册表查看电脑是否安装Microsoft Visual C++

可以看到左边的VC,redist.x86,x86,14.28,bundle中的“14”和“28”图2.1是对应的,不同版本,不同的VC++范围可能数值都不一样。WIN7这个系统安装了Microsoft Visual C++ 2015-2019这个运行时库。2.NSIS判断操作系统是x64位还是x86(32位)系统。左边是32位WIN7,右边是64位WIN10。

2023-05-16 17:41:05 2504

原创 VS2019… 当前源代码与内置版本不同...

只满足上方3个条件还无法导致该问题,因为我新建了一个项目满足这个3个条件,问题无法重现。结合网上其他答案的内容,猜测可能是修改文件所在的项目属于依赖项,不是启动项。(1)方法1:每次编译前,修改使用了该模板的cpp文件。(2)方法2:模板文件放到.hpp文件中(未验证)2.未完全验证的原因:因为模板导致的该代码未编译。(3)这次的代码修改只修改了模板代码。(2)该头文件中写了模板代码。

2023-05-08 09:11:34 346

原创 Duilib自定义控件

3.在使用的对话框中创建该控件。

2023-04-26 11:30:24 484

原创 【问题记录】自定义QGraphicsItem,使用滚动条时,出现Item不显示的问题

MyItem的boundingRect与shape函数没有重写正确,要正确设置当前MyItem的长宽,否则使用滚动条时(拖动可能也会)会导致MyView误以为MyItem不需要绘制,从而导致显示错误。1.自定义QGraphicsItem,下面称MyItem,重写QGraphicsItem::paint函数。2.自定义QGraphicsView,下面称MyView,并使用滚动条。使用滚动条向下拉动时,MyItem出现不显示的问题。

2023-04-17 16:20:15 464 1

原创 C++模板及实例化与具体化

模板的具体化(specialization)分为隐式实例化(implicit instantiation)、显式实例化(explicit instantiation)和显式具体化(explicit specialization)。模板以泛型的方式描述函数(类),而具体化是使用具体的类型生成函数(类)声明。

2023-03-07 14:47:00 1741

原创 std::tuple、std::pair用法记录

将一个tuple直接解构,用于函数的参数,从而完成函数的调用,std::pair同样适用。

2023-02-28 15:11:23 100

转载 C++为什么使用非类型模板参数?【转】

我们知道,只要使用函数模板,(编译器)会自动地引发一个实例化过程,因此我们并不需要额外地请求模板的实例化。用具体类型代替模板参数的过程叫做实例化(instantiation)。它产生了一个模板的实例,也就是生成了新的代码,导致了代码的膨胀。那我们为什么不用函数参数替代非类型模板参数呢?这样不是会减少代码的膨胀?

2023-02-22 10:32:33 75

原创 QT获取QTreeView当前展开深度,以及逐级展开与收缩功能

QT获取QTreeView当前展开深度,以及逐级展开与收缩功能

2023-01-13 17:41:58 2424

原创 unique_ptr 使用了未定义类型

unique_ptr 使用了未定义类型

2022-08-31 15:06:45 484

转载 CMake设置程序图标

CMake设置程序图标

2022-08-30 16:51:58 976

转载 qt中拷贝文件和文件夹

qt中拷贝文件和文件夹

2022-07-06 10:23:36 7810

原创 QListWidget删除Item时的相关问题

以下内容均建立在Item是new出来的情况下!1.removeItemWidget与takeItemremoveItemWidget与takeItem均不会删除该Item,就是不会进行delete;removeItemWidget只是取消了显示该Item,QListWidget::clear 的时候还是会将该Item删除;takeItem则是取消QListWidget与Item之间的关联,需要自己手动delete;QListWidgetItem* item = ui.listWidget->

2022-04-03 20:27:38 3415

原创 记录QTextEdit无法设置选中时,不改变文本颜色的问题

QTextEdit嵌套于QSplitter内,设置QPalette::HighlightedText可能失效的问题需要在父类窗口showEvent内重新设置void XMLView::showEvent(QShowEvent *event) { auto pt2 = ui->textEdit->palette(); pt2.setBrush(QPalette::Highlight, QColor("#aaaaaa")); pt2.setBrush(QPalette::Highl

2022-03-02 10:45:09 382

转载 QTableView选中行文字颜色不变(转)

转载:https://voidcat.cn/index.php/2020/12/04/qtableview-highlighttext/表格单元格文字颜色可以通过ForegroundRole来设置,但选中高亮的颜色是另外设的,且优先级更高,好像只能通过styleSheet样式设置,想要选中时文字颜色保持不变,可以使用代理使用代理class CommonDelegate : public QStyledItemDelegate{ Q_OBJECTpublic: CommonDeleg

2022-02-25 10:10:15 2449 2

原创 使用xerces-c时相关问题记录

1.在使用SAX解析器xerces-c时,如何获取行号:在DefaultHandler中有一个virtual void setDocumentLocator(const Locator* const locator);的虚函数,覆盖此函数,可以拿到定位器Locator的指针,在后续的解析中就可以使用它。例如:private: const xercesc::Locator* m_locator = nullptr;void setDocumentLocator(const xercesc::

2022-02-18 16:23:41 165

原创 记录在使用QTextBrowser时程序崩溃的问题

在使用QTextBrowser的append函数时,程序崩溃;分析原因,可能是该QTextBrowser的父控件还未展示出来;结论:在使用QT的控件的时候,需要注意该控件是否已经被展示出来过一次,否则有可能出现函数调用失败的问题。...

2022-02-16 19:19:36 1392

原创 QLineEdit修改文本实时查找QTextBrowser内的匹配数据

首先链接槽函数,在QLineEdit修改文本时发出信号,进行查找;如果已经匹配一次之后再修改文本进行匹配,例如我们需要匹配“MMS”这个字段,进行的操作就是连续输入’M’‘M’'S’3个字符,但是在输入第二个字符时,如果我们不提前移动光标,就会导致第二次匹配跳过当前匹配的这一个单词。所以我们需要在调用find函数时,提前移动光标至当前被匹配的字符串前面,这样才能保证下一次匹配会先匹配这一串字符串。这里可以使用QTextBrowser::moveCursor或者QTextCursor::movePos.

2022-02-11 19:36:31 814

原创 QTextBrowser使用append时自动识别成HTML文本的问题

如下图,我在将一个XML文本展示在QTextBrowser时,分段进行读取并展示。从42行开始时刚好为新的一段数据,将这段数据append进QTextBrowser时,出现了图2的问题,QT内部自动将这段数据识别成HTML文本,导致部分数据消失。查看QT助手,QTextBrowser的append继承至QTextEdit;继续查看QT源码,如下:QWidgetTextControl *control;void QTextEdit::append(const QString &text)

2022-02-09 19:10:54 1071

原创 QList排序

template <typename RandomAccessIterator, typename LessThan> void qSort(RandomAccessIterator begin, RandomAccessIterator end, LessThan lessThan)This function is obsolete. It is provided to keep old source code working. We strongly advise against usin

2021-09-06 10:23:26 5079 2

原创 Visual Studio 与 QT Creator 设置断点条件

Visual Studio:1.右键断点,选择“条件”2.填写条件QT Creator:1.右键断点,选择“编辑断点”2.填写条件

2021-01-06 13:41:36 1918 2

原创 C++ 回调函数 例子

适应场景:classB 的实例作为classA类中的一个变量,classB 在运行中反而需要调用classA中的变量或者函数。例如:相机的回调函数,classA为UI界面,classB 为相机SDK,classB 的实例作为classA类中的一个变量。classB 不断运行获取图片,并调用classA中的回调函数将图片显示在UI界面上。#include "classB.h"class classA{public: classA(); ~classA(); classB classB_;

2021-01-06 10:33:08 2458

原创 QMessageBox 修改默认按钮的文本

QMessageBox box(QMessageBox::Warning, tr("警告"), error);box.setStandardButtons(QMessageBox::Ok | QMessageBox::Cancel);box.setButtonText(QMessageBox::Ok, QString(tr("继续")));box.setButtonText(QMessageBox::Cancel, QString(tr("停止")));int ret = box.exec();s

2020-12-23 09:59:13 1599

转载 Qt 程序获取程序所在路径、用户目录路径、临时文件夹等特殊路径的方法

Qt 程序获取程序所在路径、用户目录路径、临时文件夹等特殊路径的方法经常我们的程序中需要访问一些特殊的路径,比如程序所在的路径、用户目录路径、临时文件夹等。在 Qt 中实现这几个功能所用的方法虽然都不难,但是各不相同,每次用到时还要现去查,很不方便。因此就写了这篇博客,把这几种需求的实现方式总结了一下。算是个备忘录吧。程序所在路径获取程序所在路径,QCoreApplication 类里就实现了相关的功能:QString QCoreApplication::applicationDirPath()

2020-12-03 14:40:38 666

原创 QTCreator 调试:unknown debugger type “No engine“

QTCreator 调试:unknown debugger type “No engine” 解决方案博客:https://www.cnblogs.com/Braveliu/p/9460812.htmlX64 Debuggers And Tools-x64_en-us.msi 与 X86 Debuggers And Tools-x86_en-us.msi 免费下载地址:https://download.csdn.net/download/chqaz123/13064876官方下载地址:首页:ht

2020-10-28 09:19:28 584

转载 __DATE__ __TIME__

#include <stdio.h> //注意,是双下划线,而不是单下划线 无需额外头文件//__FILE__ 包含当前程序文件名的字符串 //__LINE__ 表示当前行号的整数 //__DATE__ 包含当前日期的字符串 //__STDC__ 如果编译器遵循ANSI C标准,它就是个非零值 //__TIME__ 包含当前时间的字符串 //__FUNCTION__执行函数int main(){printf("%s\n",__FILE__);printf("%d\

2020-10-09 14:54:41 188

原创 Qt十六进制转浮点数IEEE 754

QString str="41a40000"; int hex = str.toUInt(0, 16);float value = *(float*)&hex;参考Qt中如何实现十六进制“41A4 0000”十六进制转为浮点数20.5

2020-09-30 11:27:11 2084 1

转载 Qt unicode字串转中文

有时候,直接在html里面获取的字符串就是带有"\u"的,然后直接显示的时候"\u"也会显示出来。这里就是教你如何去掉"\u"。其实这并不是乱码他就是这么传输的\u标识Unicode 后面的6211是两个字节的16进制数0x62,0x11Unicode编码2个字节表示一个字符QString filename = "\\u6211\\u662f\\u4e2d\\u6587";do { int idx = filename.indexOf("\\u"); QString strHex = filen

2020-09-30 11:21:05 1060

转载 ModBus协议报文格式解析说明

什么是Modbus?       Modbus协议是一个master/slave架构的协议。有一个节点是master节点,其他使用Modbus协议参与通信的节点是slave节点。每一个slave设备都有一个唯一的地址。在串行和MB+网络中,只有被指定为主节点的节点可以启动一个命令(在以太网上,任何一个设备都能发送一个Modbus命令,但是通常也只有一个主节点设备启动指令)。...

2020-08-13 19:45:34 9171

转载 libmodbus的下载与编译(转),附本次下载编译的一些不同

这几天搞QT和libmodbus库,发现QT自带的modbus的例程是自己从底层实现了一遍的,相对QT例程来说,选择libmodbus要更稳定一些。由于3.0.6版本从2013年后就没有更新了(很稳定),因此选择相对较新的libmodbus的3.1.4版本(个人问题)PS:我本次下载的是版本3.1.6,使用的是VS2017。1.libmodbus的下载首先在github上获取源代码,下载地址为:https://g...

2020-08-12 09:35:01 1008

转载 Windows下的SysWow64和System32

结论:SysWow64存放的是32位文件,System32跟随当前系统Wow!什么是Wow6464位的Windows并不是简单地把所有东西都编译成64位就万事大吉的。关于64位的CPU应该做成什么样子,Intel和AMD曾有各自的打算。AMD的回答直接了当:新的64位处理器,应该能在提高更高处理能力的同时,保持对32位应用程序的兼容性。而Intel则希望借此机会,把下一代的处理器,设计得更完美。于是,就有了AMD的x86-64(后被称为amd64)的处理器和Intel的IA-64(安腾)处理器。和amd

2020-08-07 14:03:33 300

转载 QModbusClient的链接与注意点

QModbusClient以使用Modbus Tcp为例看看客户端怎么写程序首先连接到服务端QModbusTcpClient *client = new QModbusTcpClient();client->setConnectionParameter(QModbusDevice::NetworkAddressParameter, "192.168.0.1");client->setConnectionParameter(QModbusDevice::NetworkPortParame

2020-07-09 08:57:18 4140

转载 QT 默认槽函数 connectSlotsByName浅析 - 如何使用QT控件默认的信号槽

在查看Qt一些项目的时候,代码中竟然找不到signal和slot的连接。但是最终的程序,slot却又能准确的响应信号。为什么?经过一番认(上)真(网)学(百)习(度),在 ui->setupUi(this); 函数中最后有一句这样的代码:QMetaObject::connectSlotsByName(MainWindow);再去看QT助手,其函数原型是这样的:[static] void QMetaObject::connectSlotsByName(QObject *object)给出的

2020-07-09 08:47:12 690

原创 Qt UI 绘制的一些记录

1.Qt-UI预览快捷键:shift+alt+R这样就不需要每次都编译了。2.QPushButton去掉边框flat设置为ture;push状态的边框去除暂未找到;3.VS下qrc文件未关联,无法用qt打开(1)用 Everything 查找文件 “qrceditor.exe”,记下路径,如果有多个结果,要根据所使用的VS版本选择合适的路径;(2)在VS中,右键qrc文件,选择打开方式,点击添加,选择刚刚找到的路径。4.Qt Creator 添加控件或者修改控件名时,在VS中没有实时更

2020-05-26 17:52:31 293

原创 QT程序发布之插件(plugins)缺少的问题

QT程序放到其他电脑上时无法运行的问题之-plugins例子:使用QImage时,在其他电脑上可支持的图片格式变少解决方法:1.将QT安装目录下的plugins文件夹复制到程序可执行文件的目录下,留下需要的插件,其他的文件夹可以删除。例如:QImage使用了plugins\imageformats,那么只要留下imageformats这个文件夹就可以了。注意需要有plugins这个文件夹的存...

2020-01-13 16:50:35 4253

原创 Qt 相关下载地址

Qt全版本下载地址:https://www.qt.io/download.

2020-01-09 08:53:09 141

原创 使用VS查看dll函数名、VS添加Command Prompt

VS2015添加Command Prompt1.工具>>外部工具2.填入一下文本:标题: VS Command Prompt命令: C:\Windows\System32\cmd.exe参数: /k “F:\Program Files (x86)\Microsoft Visual Studio 14.0\Common7\Tools\VsDevCmd.bat”(也有可能在C盘...

2020-01-07 16:26:11 1268

转载 obs-studio源码分析:窗口、显示器(桌面)捕捉(转载)

windows下窗口、桌面捕捉有多种方式。如下:1:使用GDI函数或者Windows Media API函数2:使用DirectX技术3:使用api hook技术(如D3D游戏捕捉)4:使用图形驱动技术obs的窗口、桌面捕捉在win-capture插件中。它使用到的是GDI技术。相比于api hook或者图形驱动技术,GDI在效率与性能方便确实略有差距。但确实不失为一种最简单的方法。...

2019-11-04 10:23:20 1440

Debuggers And Tools

Debuggers And Tools x64 x86;用于解决QTCreator 调试:unknown debugger type "No engine"

2020-10-28

51单片机自学笔记

新手学习51单片机不可多得的教材!文中描述通俗易懂!

2015-03-24

周立功的CCS4新手快速入门

本文档主要针对刚刚使用CCS v4.x的用户,力图从基本的操作演示指导用户建立针对Piccolo DSC系统的CCS工程应用。

2015-03-24

张掌柜讲DSP系列之CCS4.2 在 CCS4.2环境下新建项目(project)的方法F28335

本教程讲解如何在CCS4.2下新建一个 TMS320F28335 DSP 的project(项目)。

2015-03-24

C语言精彩编程百例

全文分为4篇,全面系统地讲诉了C语言各个方面的知识点和程序设计的基本方法,以及编写程序过程中值得注意的地方,内容深入浅出,通俗易懂。

2015-03-24

空空如也

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

TA关注的人

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