当前位置: 首页 > news >正文

Qt for WebAssembly程序中文乱码问题处理过程

一、环境

操作系统DeepinV23

Qt版本6.8.2

编程语言C++

二、问题现象

Qt for WebAssembly应用在浏览器页面上英文字母显示正常,中文显示为乱码。

经测试分析原因为默认字体不能正常显示汉字。

三、处理过程

1.准备中文字体文件

从Windows下复制宋体简体字体文件。

C:\Windows\Fonts\simsun.ttc

2.添加资源文件

resources.qrc

<RCC>
    <qresource prefix="/fonts">
        <file>simsun.ttc</file>
    </qresource>
</RCC>

3.Qt项目文件

CMakeLists.txt,在qt_add_executable后添加:

# 配置资源文件
set(RESOURCE_FILES resources.qrc)
qt6_add_resources(RESOURCE_ADDED ${RESOURCE_FILES})
target_sources(${PROJECT_NAME} PRIVATE ${RESOURCE_ADDED})

4.添加设置字体的代码

int main(int argc, char *argv[])
{
    QApplication a(argc, argv);
    int fontId = QFontDatabase::addApplicationFont(":/fonts/simsun.ttc");
    if (fontId != -1) {
        QStringList fontFamilies = QFontDatabase::applicationFontFamilies(fontId);
        if (!fontFamilies.isEmpty()) {
            QFont font(fontFamilies.at(0));
            a.setFont(font);
        }
    }
    ......
    return a.exec();
}

相关文章:

  • LLVM学习-- 构建和安装
  • Leetcode 3485. Longest Common Prefix of K Strings After Removal
  • 较为完善的搜索函数
  • LangChain 动态任务分发:开启大模型任务流的巅峰之术(三)
  • CRMEB标准版/开源版商城系统【遇坑解决】
  • 3.5 二分查找专题:LeetCode 852. 山脉数组的峰值
  • 单片机自学总结
  • 如何搭建一个安全经济适用的TRS交易平台?
  • Linkreate wordpressAI插件 24小时自动生成原创图文,新增从百度、必应搜索引擎自动获取相关下拉关键词
  • SpringBoot第三站(4):配置嵌入式服务器使用外置的Servlet容器
  • LeetCode56☞合并区间
  • 超参数优化算法:scikit-opt库、Scikit-Optimize库
  • GPU视频编解码:X86 VideoProcessFrame 视频编解码入门(二)
  • Git提交前时间检查
  • Golang | 每日一练 (6)
  • Mysql 安装指南(小白入门)
  • 基于FPGA轨道交通6U机箱CPCI脉冲板板卡
  • vs2017版本与arcgis10.1的ArcObject SDK for .NET兼容配置终结解决方案
  • 【笔记】计算机网络——数据链路层
  • 10.PE导出表
  • 南部战区位南海海域进行例行巡航
  • 农行一季度净利润719亿元增2.2%,不良率微降至1.28%
  • 初步结果显示,卡尼领导的加拿大自由党在联邦众议院选举中获胜
  • “不意外”和“不遗余力”,直击上海商超对接外贸企业
  • 央行副行长:增强外汇市场韧性,坚决对市场顺周期行为进行纠偏
  • 稳就业稳经济五方面若干举措将成熟一项出台一项