自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(143)
  • 资源 (17)
  • 收藏
  • 关注

原创 常见的 SIP 错误码

以下是常见的 SIP 错误码整理表格,按Contact。

2025-04-09 16:23:08 147

原创 财务术语中英文词汇汇总一览表

财务术语中英文词汇汇总一览表

2025-03-25 13:51:42 627

原创 IFRS/IAS 高频财务术语中英文对照表(含简写)

在这里插入图片描述](https://i-blog.csdnimg.cn/direct/274f3bdbe6994cafbfc5f6182bf15c35.png)

2025-03-25 11:00:51 278

原创 Qt 中为什么有时候要在 cpp 文件的最后加上 #include “main.moc“

在代码中,添加是为了手动引入由moc生成的元对象代码,确保 Qt 的核心功能(如信号/槽)正常工作。这是单文件 Qt 项目的常见做法,但正式项目中更推荐将声明和实现分离到.h和.cpp文件中。

2025-03-07 10:26:10 450

原创 lambda 表达式详解

lambda表达式是C++中非常强大和灵活的特性,它可以简化代码,提高代码的可读性和可维护性。通过合理使用捕获列表和参数列表,你可以在需要的地方快速定义匿名函数。// 使用lambda表达式作为比较函数,按降序排序});return 0;在这个例子中,std::sort需要一个比较函数来确定元素的排序顺序,我们使用lambda表达式简洁地定义了这个比较逻辑。

2025-02-06 17:59:37 986

原创 线程同步时定义 std::mutex 为什么要在前面添加 mutable 关键字

在C++中,关键字用于修饰类的成员变量,表示即使在一个对象中,该成员变量也可以被修改。对于这样的同步原语,使用是必要的,原因如下:通常用于保护类的内部状态,即使在成员函数中,也可能需要加锁来保证线程安全。例如:成员函数的语义:成员函数承诺不会修改对象的状态。的特殊性:本身的状态(如锁的状态)需要被修改,但这并不影响对象的逻辑状态。使用:将声明为,可以在成员函数中修改它,而不会违反的语义。2. 如果不使用 会怎样?如果没有声明为,在成员函数中尝试加锁会导致编译错误:编译器会报错,因为会尝试

2025-02-05 17:22:26 440

原创 实现一个 LRU 风格的缓存类

类似于Windows系统的 win 菜单最近打开功能模块,使用最近最少使用(LRU)的缓存淘汰策略,缓存可以设置最大容量。可以通过维护一个指向每个键在列表中位置的映射,将这一操作的时间复杂度优化到。的操作可能会抛出异常(如内存分配失败),可以考虑添加异常处理机制,让代码在异常情况下能有更好的表现。方法中都有将键移到列表末尾的操作,可以将这一操作提取成一个单独的方法,提高代码的复用性。put:新增或者更新缓存,当容量已满时,删除最早的数据,再插入。参数的检查,避免传入不合法的值(如负数),增强代码的健壮性。

2025-02-05 15:04:06 1283

原创 缓存类为啥使用 unordered_map 而不是 map

【代码】缓存类为啥使用 unordered_map 而不是 map。

2025-02-05 10:37:42 950

原创 Qt 各版本选择

Qt5: 5.9 LTS 长期支持版本 已于2020年5月31日终止维护,不建议使用及其以前的版本。Qt5: 5.12 LTS 长期支持版本 维护至 2021年12月6日。Qt5: 5.15 LTS 长期支持版本 维护至 2023年5月29日。:Qt4.8.7是Qt4的终结版本,是Qt4系列版本中最稳定最经典的。Qt5.7.0是最后支持xp系统的非长期支持版本。Qt6: 6.2 LTS 长期支持版本。Qt5 : 5.6 LTS 长期支持版本。各版本的 LTS 版本。

2025-01-15 15:45:26 1171

原创 Qt 程序 DPI 适配方法归纳

因此,需要手动设定所有字体大小,一种方法是在 Qt Designer 中编辑目标控件的 stylesheet 将字体尺寸用 px 重新设定。此应用不会缩放 DPI 更改。它将查询 DPI 一次,并在应用的生存期内使用该值。如果 DPI 发生更改,应用将不会调整为新的 DPI 值。当 DPI 与系统值发生更改时,系统会自动纵向扩展或缩减它。此应用不会缩放 DPI 更改,并且始终假定其比例系数为 100% (96 DPI)。此应用在创建 DPI 时检查 DPI,并在 DPI 发生更改时调整比例系数。

2025-01-15 15:34:13 689

原创 Qt中容器 QVector、QList、QSet和QMap 性能与用途比较

【代码】Qt中容器 QVector、QList、QSet和QMap 性能与用途比较。

2025-01-14 09:52:52 787

原创 C++ 容器对比汇总 vector deque list forward_list map set multimap unordered_map

【代码】C++ 容器 vector deque list forward_list map set multimap unordered_map 等访问插入性能内存特点存储结构适用场景区别汇总。

2025-01-13 17:38:56 1013

原创 时间复杂度简介

Ofn)ncn0​n≥n0​fn≤c⋅gn)Ogn))fn3n5nOn)n3n5n35O11)On)nnnOn)Ologn)nlog2​nOlogn)On2)nnn−1n−ii2nn−1​On2)On3)On2)O2n)FnFn−1Fn−2)F00F11Fn)Fn−1)Fn−2)O2n。

2025-01-10 17:44:41 842

原创 网页代码如何防止用户轻易查看源代码

不过要明白,对于有一定技术能力和足够决心的攻击者来说,这些方法都可能被突破,在涉及到高安全性需求的场景下,还是要结合后端安全机制(如在后端进行真正的加密存储、传输等操作)以及更完善的安全体系来保障数据安全。

2024-12-24 15:13:18 733

原创 异或算法(XOR encryption)对字符串进行加密和解密

【代码】异或算法(XOR encryption)对字符串进行加密和解密。

2024-12-24 14:41:45 187

原创 git 删除鉴权缓存及账号信息

Git的配置文件存储了一些账号相关的信息,如用户名和邮箱。你可以通过编辑配置文件来删除或修改这些信息。配置文件通常位于用户目录下的。条目来清除用户信息。不过要注意,这可能会影响到你以后的提交,因为Git提交时通常需要这些信息来标识提交者。如果你的Git仓库是通过SSH认证的,并且你想清除相关的认证缓存,你可以删除或修改。来管理SSH密钥,你可以在终端中运行以下命令来停止。并显示其进程ID,第二条命令。在配置文件中,你可以删除。中删除所有添加的密钥。

2024-12-20 11:19:15 1665

原创 qq浏览器安装 uBlock Origin 广告拦截工具

然后解压 uBlock-Origin.crx.rar。下载 uBlock-Origin.crx。在qq浏览器的应用中心,打开开发着模式。选择刚解压的文件件目录,保存即可。将后缀.crx后增加.rar。点击“加载已解压的扩展程序”

2024-12-19 14:35:59 672

原创 Visual Stidio 2015 更新3失败解决方案

这个问题是需要安装 vs2015 的更新包,update3 解决。进行安装,到最后还是和之前一样的问题。1.解压缩 iso 文件。安装到最后总会报错。装载之后,打开里面的。3.用管理员权限执行。

2024-12-16 13:46:10 546

原创 判断 Windows 系统版本号

【代码】判断 Windows 系统版本号。

2024-11-14 17:03:56 340

原创 Qt 项目优化实践方向

它将资源的获取(如分配内存)放在对象的构造函数中,并将资源的释放(如释放内存)放在对象的析构函数中。全局或静态作用域中的裸指针可能导致内存泄漏,因为它们的生命周期与程序的生命周期相同,且往往没有明确的释放时机。Qt的资源文件(qrc)允许将资源编译到应用程序的可执行文件中,从而简化了资源的部署和管理。通过以上这些最佳实践,你可以更有效地管理Qt应用程序中的资源,从而提升程序的性能和用户体验。在Qt中,尽量避免不必要的资源复制。使用智能指针或Qt的对象树机制来管理这些资源,确保在不再需要时能够自动释放。

2024-09-25 17:13:49 1365

原创 在 Visual Studio (VS2015)中搜索时使用正则表达式

在Visual Studio 2015(VS2015)中,使用搜索(通常是查找和替换功能)时,可以启用正则表达式模式来执行更复杂的文本匹配和替换操作。

2024-09-25 15:21:23 1091

原创 Qt 弹出菜单右键菜单 QMenu 设置不同颜色的子项

Qt 弹出菜单右键菜单 QMenu 设置不同颜色的子项

2024-09-14 17:29:19 1045

原创 qt 槽函数中获取发射信号的对象(widget)

qt 槽函数中获取发射信号的对象(widget)

2024-09-11 16:38:44 1037

原创 Qt QLineEdit 输入内容后字数在右侧动态展示

QLineEdit 设置可输入最大长度可以使用怎么实时的把当前输入字数显示出来呢,像饿了么的 input 组件那样<el-inputplaceholder="请输入内容"Qt 中 QLineEdit 配合 QLabel 也可以很方便的实现这个效果。

2024-09-04 11:22:49 620 1

原创 Qt 按钮图片文字上下结构(纯qss实现)

纯qss实现 QPushButton 图片文字上下结构

2024-09-03 18:00:52 539

原创 Qt 模仿企业微信图标实现按钮图片文字上下结构

模仿企业微信左侧栏图标实现

2024-09-03 17:42:23 988

原创 Qt QPushButton 按钮添加数字气泡

项目中,在某个按钮的右上角添加数字气泡是一个很常见的功能,可以用新建一个组合类来实现。不过这样比较麻烦,如果加气泡是后面的需求,可能改动的地方较多。要注意的是,红色气泡 QLabel 的长宽动态决定了 border-radius: 8px 的值,radius是长宽一半。如果气泡的数字超过99,需要显示 99+ 的时候,可以加大 QLabel 的宽度。原来的按钮放在 QWidget 中间,气泡放在 QWidget 的右上角。我这个按钮比较小,99+的时候就挡住按钮本身比较多了。

2024-09-03 14:12:28 618

原创 Qt QPushButton 按钮右上角增加小红点

ui.btTool 是需要添加小红点的按钮。在项目里有时候应用类按钮在模块上新时,需要增加小红点提示。实现的方法有很多 ,下面介绍超简单的一种。直接在按钮上贴一个 QLabel 即可。

2024-09-02 15:15:47 571 1

原创 一个简单的基于Qt的MVC框架

这个示例展示了如何使用Qt搭建一个简单的MVC框架,其中模型中的操作在子线程中处理。你可以根据需要扩展这个框架,添加更多的功能和复杂性。希望这个示例对你有帮助!

2024-07-11 17:10:01 1161 5

原创 写入windows剪切板,粘贴出来乱码

剪切板SetClipboardData()时自动内存转换,默认状态下并不能识别双字节的字符.所以修改的思路是,先统统转成宽字符,再按照宽字符进行拷贝.操作windows剪切板,写入正常,粘贴出来时候乱码了。

2023-03-21 13:32:08 1287

原创 重编译 microsip 和 pjsip 支持 mp3 录音

使用 MicroSip 源码编译后,在录音配置界面虽然有 mp3 格式选项,但是实际录音后不会生成mp3 文件夹,而选择wav格式却可以正常生成 wav 文件。经测试发现需要重新编译 pjsip 工程,加入 mp3 编码才可以。.........

2022-07-28 18:57:46 1438

原创 实测免费可用STUN服务器

最近碰到sip单通问题,排查问题时了解到可以采用stun服务器用来透传外网地址,于是网络收集了些可用服务器,第一个亲测可用,其他的可 ping 通。剔除了些超时和连接错误的。

2022-07-28 09:59:08 9063 5

原创 vs 项目中用正则表达式查找双引号中的中文

快捷键:Ctrl+Shift+F填入查找内容(".*[\u4E00-\u9FA5]+.*[\u4E00-\u9FA5]+.*")勾选“使用正则表达式”查找全部

2020-05-20 16:39:57 862

原创 Visual Studio 各版本与年份对应关系

版本号 年份名 VC7.0 VS2002 VC7.1 VS2003 VC8.0 VS2005 VC9.0 VS2008 VC10.0 VS2010 VC11.0 VS2012 VC12.0 VS2013 VC13.0 VS2014 VC14.0 VS2015 VC15.0 VS2017 V...

2020-04-30 14:16:58 2660 1

原创 失控是一切糟糕事情的开端

失控了,就会暴跳如雷失控了,就会无所顾忌,无所顾忌的干一些蠢事。失控了,就会伤害自己身边的任何人,当然也包括最亲的人。失控的时候畅快淋漓的,因为可以宣泄一切积压已久的负面情绪。失控的时候是动物本能占领大脑,有着不为己,天诛地灭的觉悟。...

2020-03-09 15:23:41 330

原创 QT QDateEdit 修改日历周六日颜色

效果图:代码实现:QCalendarWidget *pCalendarWidget = ui.dateEditBegin->calendarWidget();QTextCharFormat f =pCalendarWidget->weekdayTextFormat(Qt::Monday);//获取周一字体格式f.setForeground( QBrush(QColor("#0...

2019-10-25 14:22:59 2159 1

原创 QListWidget 滚动条滚到最后动态增加子项

实现一个小功能,列表初始加载内容有限,当滚动条拉到最后动态加载更多内容。1.给 QListWidget 的垂直滚动条设计一个槽connect(ui.listWidget_All->verticalScrollBar(),SIGNAL(valueChanged(int )),this,SLOT(slot_listWidgetAllScrollBar_valueChanged(int ))...

2019-10-16 10:11:23 2703 1

原创 vcredist x86 安装失败 出现1935错误 解决方法

安装vcredist x86一直装不上,最后总是弹出错误1935。在网上找的方法。集各家所长,最后成功安装上了。详细步骤如下:1.开始–运行(快捷键:windows键+R),输入regedit,回车,从而打开注册表编辑器;2.进入进入注册表编辑器 HKEY_LOCAL_MACHINE > SYSTEM > CurrentControlSet > Control1;3.在...

2019-09-17 11:08:25 7292 1

原创 QTextEdit 或 QTextBrowser 高度自适应

以下方法收集自网络使用 QTextDocument 的 contentsChanged 信号可以解决此问题。QTextEdit *editor = new QTextEdit(this);...connect(editor->document(),SIGNAL(contentsChanged()),this,SLOT(textAreaChanged()));...private...

2019-09-03 18:45:19 4892 3

原创 Qt 获取控件位置坐标,屏幕坐标,相对父窗体坐标

QPoint QMouseEvent::pos()这个只是返回相对这个widget(重载了QMouseEvent的widget)的位置。const Returns the position of the mouse cursor, relative to the widgetthat received the event. If you move the widget as a resu...

2019-08-14 14:52:06 24741

Qt 弹出菜单右键菜单 QMenu 设置不同颜色的子项

在Qt中,可以使用样式表(StyleSheet)来自定义QMenu的外观,包括其子项(如菜单项QAction)的颜色。但是,要注意的是,直接通过样式表为QMenu的每个子项设置不同的颜色可能不是很方便,因为样式表通常用于设置类的整体样式,而不是单个实例。 这个 demo 就是实现设置单个子项不同颜色。 详见博文: https://pafey.blog.youkuaiyun.com/article/details/142261768

2024-09-14

动态捕获Windows窗口句柄工具

动态捕获Windows窗口句柄工具。 Inspect 支持无焦点窗口捕获,可动态实时监听当前系统打开的窗口,并获取窗口的详细信息。 可以很方便的对软件进行模拟操作。。。 DDDD 动态捕获Windows窗口句柄工具。 Inspect 支持无焦点窗口捕获,可动态实时监听当前系统打开的窗口,并获取窗口的详细信息。 可以很方便的对软件进行模拟操作。。。 DDDD 动态捕获Windows窗口句柄工具。 Inspect 支持无焦点窗口捕获,可动态实时监听当前系统打开的窗口,并获取窗口的详细信息。 可以很方便的对软件进行模拟操作。。。 DDDD 动态捕获Windows窗口句柄工具。 Inspect 支持无焦点窗口捕获,可动态实时监听当前系统打开的窗口,并获取窗口的详细信息。 可以很方便的对软件进行模拟操作。。。 DDDD 动态捕获Windows窗口句柄工具。 Inspect 支持无焦点窗口捕获,可动态实时监听当前系统打开的窗口,并获取窗口的详细信息。 可以很方便的对软件进行模拟操作。。。 DDDD 动态捕获Windows窗口句柄工具。 Inspect 支持无焦点窗口捕获,可动态实时监听当前系统打开

2023-02-10

pjsip支持mp3编译库 libpjproject-i386-Win32-vc14-Release

使用 MicroSip 源码编译后,在录音配置界面虽然有 mp3 格式选项,但是实际录音后不会生成mp3 文件夹,而选择wav格式却可以正常生成 wav 文件。 经测试发现需要重新编译 pjsip 工程,加入 mp3 编码才可以。 这个是编译后的库文件,vs2015 x86 编译的,亲测可用。

2022-07-28

IBindStatusCallback子类

用于函数 STDAPI URLDownloadToFileW(LPUNKNOWN,LPCWSTR,LPCWSTR,DWORD,LPBINDSTATUSCALLBACK); LPBINDSTATUSCALLBACK参数的定义类 博客地址:https://blog.youkuaiyun.com/qiangzi4646/article/details/80667753

2018-06-12

【源代码】phonon-mplayer 后端插件,扩展支持mp4、rmvb、acc等视音频格式

qt4.8 自带的 phonon 插件支持的视频音频较少,一般开发都采用mplayer来替代从而扩展支持的格式。这个插件测试可用,里面有编译好的库文件(mplayer.lib 、phonon_mp.dll、phonon_mp.lib)具体参考https://blog.youkuaiyun.com/qiangzi4646/article/details/79769631

2018-03-31

源代码电脑通过adb控制安卓手机

vs2008编译通过,电脑通过adb控制安卓手机拨打电话,发短信,控制微信自动加好友,安卓版本4.3以上,主要是通过读取手机当前界面的元素布局,保存到xml,然后通过xml解析出各个控件的坐标,通过adb命令模拟点击,滑动,点亮屏幕,上划解锁,启动微信,拨打电话等功能。详见博客:https://blog.youkuaiyun.com/qiangzi4646/article/details/79727865

2018-03-28

[源码]比较成熟dll导出类示例(包含win32和mfc两种dll以及exe调用示例)

[源码]比较成熟dll导出类示例(包含win32和mfc两种dll以及exe调用示例) 参考codeproject大神链接https://www.codeproject.com/Articles/28969/HowTo-Export-C-classes-from-a-DLL

2018-03-20

mfc组合框下拉列表项添加删除按钮

类似于qq的登录框历史账号右边的删除按钮,一般用于客户端的登录界面,vs2008编译通过,debug文件夹可查看编译好的exe

2018-03-14

window 采集扬声器音频并播放

通过Core Audio中的API函数来实现采集声卡输出,采集到的音频流保存与内存,并直接播放.支持 window Vista 以上系统.

2017-12-15

源码中文和 Unicode 互转

一个中文和 Unicode 之间互转的小工具,VS2008编译通过。可直接在release下打开exe预览。。。。。。。。。。。。。。。。。。。。

2017-09-18

QT 中使用 Windows API----SendMessage() 进行窗体间消息传递

QT 中使用 Windows API----SendMessage() 进行窗体间消息传递,方便主窗体下的单独兄弟窗口类之间传递消息

2017-07-14

QTextEdit 实现 QLineEdit 的 setPlaceholderText() 和 setMaxLength ()函数

QTextEdit 实现 QLineEdit 的 setPlaceholderText() 和 setMaxLength ()函数

2017-07-13

多线程向线程函数传递多个参数实例

基于MFC对话框类创建的线程,传递给线程函数2个参数,线程函数调用窗口类控件操作等。

2017-03-06

Log4Cpp使用实例

自己编译好的log4cpp的DLL 和 LIB 封装了一个使用类,从本地读取配置log级别等信息,可输出多个种类的日志文件,输出示例如下 [2017-02-20 16:09:51.910](NOTICE)Sys : 进入了CPfy_log4cppDlg::OnBnClickedButton1函数 [2017-02-20 16:09:51.911](NOTICE)Sys : 写入系统日志 [2017-02-20 16:09:51.911](NOTICE)Sys : 退出了CPfy_log4cppDlg::OnBnClickedButton1函数 详细见:http://blog.youkuaiyun.com/qiangzi4646/article/details/56017080

2017-02-20

MicroSIP 增加 g729 源代码

基于pjsip 的sip客户端 MicroSIP 的源代码,由于MicroSIP 开源的代码中不支持g729 ,特加入支持g729语音编码。vs2008编译通过,MicroSIP-3.12.1-src\Release 文件夹下microsip.exe 可以自己运行测试;

2016-12-23

【源代码】mfc 托盘闪烁及鼠标左右键响应

实现 mfc 对话框的托盘创建,鼠标单击,双击,右键响应及托盘图片闪烁.

2016-11-25

md5生成实例

一个生成md5值的小栗子,vs2008 编译运行

2015-10-19

SocketTool

SocketTool调试软件是一款网络TCP/UDP通信调试工具 本工具集功能强大与简单易用为一体,是无需安装的免费绿色软件。 它可以帮助网络编程人员、网络维护人员检查所开发的网络应用软硬件的通信状况。 ★ 全面集成 TCP服务器/客户端; UDP服务器/客户端; UDP广播/组播 功能 ★ 支持多Socket并行测试, 采用树状Socket可视化界面,所有Socket句柄一目了然 ★ 在一个程序内可进行多句柄/多类型的Socket的创建/删除/以及数据收发等操作 ★ 支持16进制的发送和16进制接收显示,支持汉字以及文本发送 ★ 用户可以方便的把接收到的数据保存下来 ★ 支持发送、接收字节数统计

2015-10-19

VC socket 服务器编程实例源码

vc6.0 的 socket 编程,实现 socket 通信,分客户端和服务器端。

2014-09-30

空空如也

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

TA关注的人

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