自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(15)
  • 收藏
  • 关注

原创 fopen函数打开中文路径(utf-8)失败分析

那么qt在windows下运行底层会调用Windows的API CreateFile,而windows用的编码是GBK,所以即使qt设置了使用utf-8编码那么到底层执行windows的API仍然会使用GBK编码,故需要转换路径字符串为GBK编码后放能被fopen识别。先将源编码转换为 Unicode(中间格式),再从 Unicode 转换为目标编码。gb2312转换utf-8。utf-8转换gb2312。

2025-12-11 19:32:24 124

原创 QSettings读写中文配置文件底层编码分析

1.在C++中,wchar_t是用于表示宽字符的数据类型,主要用于支持 Unicode 字符集,能够表示多种语言的字符,包括中文、日文等非 ASCII 字符。它的大小通常为 2 字节或 4 字节,具体取决于平台和编译器其具体字节数在不同平台上有所不同:Windows通常使用UTF-16(2字节),而Linux和macOS则通常使用UTF-32(4字节)。这种差异导致在跨平台开发中,宽字符字符串的处理方式不一致,尤其是在文件读写时容易出现乱码。

2025-12-09 16:01:45 652

转载 字符编码详解

字符集(Character Set) 是多个字符与字符编码组成的系统,由于历史的原因,曾经发展出多种字符集,例如:字符集一多起来,就容易出现兼容问题: 即同一个字符在不同字符集上对应不同的字符编码。例如,最早的 emoji 在日本的一些手机厂商创造并流行起来,使得 emoji 在不同厂商的设备间无法兼容。要想正确解析一个字符编码,就需要先知道它使用的字符编码集,否则用错误的字符集解读,就会出现乱码。想象一下,你发送的一个在女朋友的手机上看到的是另一个 emoji,是一件多么可怕的事情。

2025-11-22 18:24:41 25

原创 VS程序读取文件后中文内容是乱码问题总结

了解了c++对字符的几种处理后了解了,中文字符和英文字符的内存中存储的字符长度是不一样的,英文都是单子符,而中文日文韩文都是一个字符占2个或者3个字节(与编码种类有关),所以当用string类型的变量处理中文字符串时肯定会失败因为string专门处理英文字符,按单个字节解析,当有中文时就会组合成乱码,所以针对中文字符串应该使用wstring来处理,#include 包含头文件,wstring_convert<std::codecvt_utf8<wchar_t>> converter;将宽字符转换成单字符。

2025-11-15 17:22:33 350

原创 QScrollArea的viewport大小计算方法总结

QScrollArea作为一个用单个QWidget类窗口来显示超出窗口显示范围的类对象的工具类,调用setWidget(QWidget *widget)来设置其要显示的子Widget,其真正用来有效显示子Widget的区域是viewport的QWidget类子成员对象,因为当子Widget大小超过viewport的大小后滚动条就会出现,此时viewport的大小会被压缩变小,即QScrollArea->viewport->子Widget的层次关系,大概层次架构如此。

2025-10-18 17:21:07 415

原创 VS不显示SDK版本或WindowsSDK_IncludePath宏识别错误或为空或找不到SDK版本等问题汇总

(1).检查windowskit/10/下面有没有安装此版本的SDK,若没有可以用VS installer下载单个组件(2).解决目标方案或项目里面重定向选择对应的windows sdk版本(3).打开Kits/10/Design Time /CommonConfiguration/Neutral/UAP/10.xxx.xxx.0/UAP.props文件,处改成,因为此值与WindowsSdkDir宏定义的值相关,所以没设置之前WindowsSdkDir的值为空会报错找不到Windows SDK版本,设

2025-09-05 18:12:38 696

原创 使用windows终端运行windeployqt会导致寻找错误依赖库(已解决)

要想发布qt程序万无一失,最保险的办法是使用对应的编译器的终端来运行windeployqt.exe,这样无需做任何事情无须设置环境变量并且找到的库齐全准确,发布qt程序一次就成功省时省力。

2025-08-30 09:45:59 224

原创 QT事件处理机制(发布事件)

在ChatGPT💬上搜索到的概念是:在Qt中,事件循环是一种机制,用于处理各种异步事件。事件循环通过一个事件队列来管理和调度事件,当队列中有事件时,事件循环会从队列中依次取出事件并处理,直到队列为空或者事件循环被中断。事件的产生可以是用户输入、系统信号、网络请求、定时器等,Qt提供了一系列的事件处理函数和信号槽机制,可以方便地将这些事件与具体的操作相绑定。因此,Qt的事件循环机制是Qt应用程序实现异步响应和多线程编程的基础。个人理解,Qt的事件循环是通过一个队列来循环处理事件的机制。

2024-08-21 10:53:44 1955

原创 Qt事件处理机制(系统消息)

Qt事件处理机制(系统消息)你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何使用Markdown编辑器, 可以仔细阅读这篇文章,了解一下Markdown的基本语法知识。我们对Markdown编辑器进行了一些功能拓展与语法支持,除了标准的Markdown编辑器功能,我们增加了如下几点新功能,帮助你用它写博客:撤销:Ctrl/Command + Z重做:Ctrl/Command + Y加粗:Ctrl/Command + B斜体:Ctrl/Command + I标题:Ct

2024-08-20 20:13:15 2122

转载 图像的膨胀与腐蚀——OpenCV与C++的具体实现

图像处理腐蚀和膨胀的实现原理

2023-01-30 14:31:16 633

转载 opencv::形态学操作

opcv的形态学操作

2023-01-19 16:40:43 343

原创 虚函数实现多态的原理

虚函数如何实现多态的

2022-09-09 16:17:53 1276

转载 socket指南(2)

socket指南

2022-09-09 15:45:56 272

转载 socket指南(1)

socket使用指南

2022-09-09 15:41:38 518

转载 socket详解

socket细节实现

2022-09-09 15:18:22 464

空空如也

空空如也

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

TA关注的人

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