自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(55)
  • 资源 (1)
  • 收藏
  • 关注

原创 QProcess启动多个外部程序

其次也可以使用QProcess的方法setWorkingDirectory()方法,但是实测有时有问题。最近需要使用不同参数将一个EXE启动多个进程,遇到了启动不成功的情况,在此做个记录。再者也可以使用QProcess的startDetached()方法的第三个参数。大家都知道Qt与外部程序通讯的其中一种方式:QProcess。后面两个方法测试过程中会出现启动不成功的情况。

2024-02-21 14:13:11 254

原创 Qt实现窗口吸附屏幕边缘 & 自动收缩

Qt实现窗口吸附屏幕边缘 & 自动收缩

2024-02-01 17:00:17 731

原创 Qt实现类似ToDesk顶层窗口 & 不规则按钮

Qt实现类似ToDesk/迅雷顶层窗口;Qt不规则按钮实现;

2024-02-01 16:06:07 930

原创 FFmpge命令记录

FFmpeg命令记录

2024-02-01 15:39:09 535

原创 QSS样式表简单梳理记录

QSS样式表简单记录梳理记录

2024-02-01 15:13:51 223

原创 带数字的字符串排序Qt

但是遇到字符串中包含1、2、3、10、11、12、21、22、31这种时,顺序就会乱掉;日常开发中排序操作是很常见的,大多时候使用qSort默认方式,就可以满足需求;

2024-01-12 16:28:03 382

原创 Qt使用Cryptopp生成HMAC-MD5

Qt使用Cryptopp生成HMAC-MD5算法码

2023-12-08 16:51:52 277

原创 罗技M590鼠标usb优联连接不上

手里有一个罗技M590鼠标从18年4月一直用到现在,质量很好,除了滚轮有些松别的没毛病。如果不行,先NO然后长按切换按钮进行连接(等指示灯闪烁后)关闭鼠标OFF,然后再打开鼠标ON。之后软件感知到以后,继续操作就OK了!如果也想像我一样两台电脑使用罗技鼠标的Flow功能,那么需要下载LogitechOptions来进行设置哦!2.查看是否已经使用蓝牙连接,已经将鼠标连上电脑?如果已连接,请关闭蓝牙。3.1.按照下图指示,将usb优联接收器插入电脑。1.下载unifying250.exe。

2023-11-25 15:47:24 1934

原创 Qt重启windows服务

日常开发中,会遇到改变某个服务的参数,并进行重启(例如Redis断电恢复机制)

2023-11-10 17:54:40 391

原创 窗口闪烁&QWidget多窗口鼠标透传&QWidget底色设置

窗口闪烁;鼠标透传;QWidget底色设置

2023-09-14 10:46:52 280

原创 qml使用QAbstractListModel作为数据源

但是后台数据的提供还是用qt c++的实现,MVC中即可用Model进行。主要在于beginRemoveRows&endRemoveRows中间进行的操作,将待删除元素取出,在model实际数据存储处进行remove,最后再将元素彻底delete。主要在于beginMoveRows&endMoveRows中间进行的操作,将待移动项取出并插入到新位置。二、又例如想进行元素的删除,也需要model进行支撑。一、例如想进行元素的移动,就需要model进行支撑。但是想要一些其他的功能,就需要自己去实现了!

2023-08-26 23:27:30 336

原创 QtWidgets和QtQuick融合(QML与C++融合)

1.2.也可以直接在其他类中直接返回该类指针,直接给qml进行使用(当然前提也是其他类也进行了注册,已经在qml里实例化了)。1.1.可以直接在qml中进行该类的实例化,进而进行访问(qmlRegisterType时需要添加参数);2.1.也可以直接继承QAbstractListModel等类,进行实例化,qml中可以直接访问相关。qmlRegisterType注册类时,带了namespace的类,类指针在qml中是不能够访问的。qml中访问只能访问类的指针,不能访问类对象;主要在于红框中的方法的重写。

2023-08-26 23:08:36 948

原创 QtCreator指定Windows Kits版本

先说下事件起因:之前一直在用Qt5.12.6+vs2017在写程序,后面调研了一个开源库Qaterial,但是翻来覆去的编译都有问题,后面升级到了Qt5.15.2+vs2019来进行cmake的编译,搞定了Qaterial,但是返回来编译原来的工程,结果出错,而且还是C++库的问题,后面就找了资料,看了自己电脑里C:\Program Files (x86)\Windows Kits\10\Lib下有两个版本的sdk,vcvarsall.bat应该默认使用的是最新的sdk,因此出现了问题。

2023-08-26 21:59:24 648

原创 QtCreator中设置自定义注释格式

另外QtCreator中支持Doxygen,在函数前直接打/**加回车,会直接进行函数的注释添加!QtCreator--工具--选项--文本编辑器--片段--组:C++--添加。点击Apply,并且Ok。

2023-08-18 15:20:35 209

原创 FFmpeg接收UDP码流

三、后续的一系列操作就按照普通解码顺序进行即可。

2023-08-09 22:09:06 1480

原创 C++获取机器显卡信息

【代码】C++获取机器显卡信息。

2023-08-08 15:57:47 642 1

原创 给windows系统加上右键notepad++打开

新建了command之后选中command项会发现右边有相应的值,双击默认进行修改 D:\xxx\notepad++.exe %1。4、在右边新建字符串值,取名后Icon路径是安装目录:D:\xxx\notepad++.exe。安装完成notepad++之后,选中文件后 右键可能没有使用使用notepad++打开编辑。5、在新建的项【使用notepad++打开】上右键,然后新建一个项,命名为command,已经出现了相应的邮件菜单!3、在shell上右键,新建项,命名为:使用notepad++打开。

2023-07-29 18:36:10 366

转载 C++ 内存分配(new,operator new)详解

事实上,分配内存这一操作就是由operator new(size_t)来完成的,如果类A重载了operator new,那么将调用A::operator new(size_t ),如果没有重载,就调用::operator new(size_t ),全局new操作符由C++默认提供。然而,前面已经说过,new运算符的执行过程分为两步,C++提供new运算符的重载,其实是只允许重载operator new()函数,而operator()函数用于分配内存,无法提供构造功能。使用这种方法,直接调用类的构造函数。

2023-06-29 14:29:33 514

原创 Boost::Graph去除重复顶点

【代码】Boost::Graph去除重复顶点。

2023-06-26 16:26:54 89

原创 C++面试题

【代码】C++面试题。

2023-06-19 14:16:13 181

原创 Qt守护进程相关

【代码】Qt守护进程。

2023-06-15 18:01:23 528

转载 Qt多级表头(QTableView表头合并)

头文件的每个部分都由其section()指定的节ID描述,并且可以位于头文件中的特定visualIndex()中。它取代了Qt3先前用于相同目的的QHeader类,但使用Qt的model/view体系结构与item view类保持一致。每个头文件都有一个orientation()和若干节,由count()函数给出。A section指的是标题的一部分——根据方向,可以是行,也可以是列。对于水平标头,该部分相当于模型中的一列,而对于垂直标头,该部分相当于模型中的一行。

2023-06-14 22:17:48 1788

转载 大端 / 小端,三种判断方法

而在C语言中,不仅仅是一个字节来存储一个数据,除了一个字节的char,还有两个字节的short,四个字节的int等等(看具体编译器)。另外,对于位数大于8位的处理器,例如32位的处理器,由于寄存器的宽度大于一个字节,那么就有如何将多个字节进行排布的问题,于是就出现了大小端的问题。3.定义联合体,一个成员是多字节,一个是单字节,给多字节的成员赋一个最低一个字节不为0,其他字节为0 的值,再用第二个成员来判断,如果第二个字节不为0,就是小端,若为0,就是大端。3.怎么判断当前机器的字节序?

2023-06-13 10:17:53 3216

原创 std::map与QMap插入效率对比

结论:在C++11加持下,std::map的emplace看来是最好的方法了!上一篇文章介绍了std::map在普通operator[]赋值的流程。可以看到,使用emplace是优的!不管在写法还是效率上都是最优的!可以看到,使用insert是最优的!不管在写法还是效率上都是最优的!

2023-06-08 15:51:35 379

原创 std::map的使用

对于自定义类型Student而言,作为Value插入到std::map中,没有写默认构造函数,编译器报错,为了探明原因,就把Student类的几个重要函数都写了出来并且配合qDebug信息输出,找出了真正原因:std::map在插入新值的时候会先调用默认构造函数,然后调用赋值构造函数!

2023-06-08 11:47:32 208

转载 C++11 字符串编码转换

【注】windows平台的std::wstring 就是std::u16string, wchar_t 就是char16_t (utf-16编码)。首先需要明白的是,std::string的没有编码的,里面可以保存gbk,utf-8等编码的字符串。注意:转换后的获得的std::string的编码为utf-8,windows下输出是乱码 (windows终端输出中文要正常显示,要转化为GBK编码)一、std::string 转为 std::wstring( utf-8 --> wchar )

2023-06-07 14:55:41 1216

原创 C++析构函数声明为protected的原因

在堆中,我们通常使用new/delete来创建/销毁对象。即:当调用new时,它会自动去调用相应类的构造函数;当调用delete时,它会自动去调用相应类的析构函数。poco这么做,主要是为了使这些类不能在栈上申请内存!最近在看poco源码中发现很多类的析构函数都设置为protected,经过思考就有了这篇文章!在栈中,该过程是自动完成的。即:不需要我们显式调用new/delete。然而,当我们想禁止在栈中产生对象时,如何来实现呢?类的构造/析构都是public的。

2023-06-06 14:14:04 212

原创 C++实现环形缓冲区

环形缓冲区

2023-05-23 11:41:14 253

原创 CTK编译没有ctkEventAdmin

Configure,Generate完成后直接Open Project使用VS进行编译,ctk源码编译,默认时不会生成下面这4个库的,如果需要使用插件间通讯,则需要将设置打开。CMake中将CTK_ENABLE_PluginFramework进行勾选,如下图。在my_build\CTK-build\bin\Debug下就有如下dll生成。接下来就可以使用CTK进行插件化编程了!

2023-05-22 15:24:55 72

原创 Qt使用CTK插件机制

Qt的插件机制当然也就是使用Q_DECLARE_INTERFACE、Q_INTERFACES、Q_PLUGIN_METADATA三个宏。其实CTK插件机制,还是应用的Qt的插件机制,只不过使用了中介者模式可以对自定义的插件进行管理并且提供可以互相通信的一个媒介。Qt的插件机制也是建立在Qt元对象系统基础之上的,Qt元对象系统主要提供了Qt的信号槽、RTTI、动态属性系统。第三个宏的作用是插件元信息&元信息获取&插件实例句柄获取的功能。前两个主要是RTTI的实现和插件有效性检测;

2023-05-15 11:44:12 377

原创 Matlab连接STK相关问题

网上说的是先装Matlab再装STK,但是由于网速问题Matlab一直没有下载下来,就先安装的STK,后面再进行Matlab的安装也是没有问题的。出于公司业务,接触到了STK(11.6.0)与Matlab(R2018b)后面实在没办法,重新进行了安装与破解,才好的。2.Matlab连接STK,com调用不成功。改用管理员权限重新打开Matlab,可用!

2023-05-12 13:46:33 440 7

原创 自定义带复选框QComboBox,包括代理

工作中不乏这样一个需求:给ComboBox加上复选框,并且可以实时显示勾选内容。扩展到Model-View框架中就形成了一个代理,对单元格中的内容进行自定义。

2023-05-08 17:44:18 577

原创 Qt文件编码转换

主要使用QFile、QTextStream及QTextCodec三个类,先进行文件编码的识别(ANSI、UTF-8、UTF-8 BOM、UTF-16 LE、UTF-8 BE),再进行文件编码的转换。主要用于Qt项目中源代码的批量转换,从ANSI或UTF-8转换为UTF-8 BOM。

2023-04-24 11:38:08 1379

原创 Awesome字体图标库使用

Awesome字体图标库使用。

2023-04-05 18:24:49 704

原创 IDEA包下载失败问题解决

IDEA阿里云镜像配置

2023-03-23 23:08:39 1097

原创 Qt自定义饼图(重叠、切片、圆环、高亮)

由于项目中遇到饼图各个切片重合的情况,虽然可以通过设置透明度进行颜色融合,但仍然不能满足需求,思考再三,想出普通饼图+环形外框的方案,大家一起来看看效果吧!

2023-03-23 14:31:57 311

原创 Qt水波进度条

【代码】Qt水波进度条。

2023-03-23 10:36:01 240

原创 Qt自定义QAbstractItemModel实现文件夹/文件树

VVTreeItem包含type、value、父节点、子节点4个必要属性,及几个附加属性。另外对于View中的数据,可以自定义展示方式,使用代理。QAbstractItemModel是。

2023-03-22 17:55:30 1036 3

原创 Qt撤销/回撤框架

它将撤消和重做请求转发到活动堆栈,活动堆栈是与用户当前正在编辑的文档相关联的堆栈。step2:在操作的地方,创建一个QUndoCommand实例,并且push进QUndoStack,此时会自动调用Command的redo()方法;想必大家都有这样的需求:Ctrl+Z、Ctrl+Y进行用户操作的撤销和回撤,Qt框架中有Qt's Undo Framework供大家使用。它包含了在文档上执行的所有命令,并可以通过撤消或重做它们来前后滚动文档的状态。单击视图中的命令会将文档的状态向后滚动或转发到该命令。

2023-03-22 16:44:25 1118

原创 Qt信号分组管理

通过关联QPushButton的click()信号到QSignalMapper的map()槽函数,并且通过setMapping方法,将每个QPushButton的click()信号进行映射,我们就可以将这一组QPushButton重新进行了组织,点击每个按钮,都会发出clicked(QString)信号,通过QString参数可以知道具体是哪一个按钮进行了点击。

2023-03-22 11:27:08 147

freetype2.10.0编译好的库win32-and-x64

在OpenGL中渲染字体,会用到freetype库,本人编译好的2.10.0版本的win32_and_x64版本

2024-03-22

类似ToDesk/迅雷悬浮窗Qt实现

实现了一个类似ToDesk的全局上层窗体,在桌面右下角,可以收起可以展开。

2024-01-26

VS2017编译好的x64版本的debug/release【Cryptopp库】

VS2017编译好的x64版本的debug/release【Cryptopp库】

2023-12-08

罗技优联软件unifying250.zip

罗技优联软件

2023-11-25

编译好的ZLM流媒体服务器(支持webrtc)

win10环境下编译好的ZLM服务器,亲测在没有开发环境的电脑上亦可以直接双击打开,进行使用。

2023-11-14

ZLM流媒体服务器编译所需全部文件

搭建ZLM流媒体服务器,编译所需的全部资源,解压安装CMake,使用VisualStudio即可编译。

2023-11-14

OBS支持win7版本

最新的OBS已经不支持win7系统,这里提供旧版OBS版本。 包含x86 x64的24.0.3和27.2.4

2023-11-14

Qt窗口闪烁demo类

通过另外一个BorderFlicker类来进行父窗口的周围闪烁功能,进行对用户的醒目提醒。 注意:发现一个小bug,需要将代码中的399变为401哦!

2023-09-14

ffmpeg4编译好的64位的lib&dll和include

可以直接添加至工程中使用

2023-08-09

编译好的CTK插件include & lib

CTK 插件通信框架,编译好的lib和include 下载直接加入工程就可以进行使用!

2023-05-15

动态提示QProgressBar

在QProgressBar的基础上,添加动态提示功能(即如果长时间进度条进度不变时,仍有子进度条不断更新,提示用户程序没有假死)

2021-07-15

空空如也

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

TA关注的人

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