Qt中文乱码问题怎么解决

Qt中文乱码问题怎么解决,第1张

(1)、中文编码一律使用QString::fromLocal8Bit()接口。

原因:需要支持QT4版本。QStringLiteral()方法也可取,但是它只支持QT5版本,如果没有版本问题,可以使用。

(2)、CPP等文件编码一律使用UTF8—BOM格式。

原因1:UTF8-无BOM在使用window编译器cl中编译会失败,当然除非你Windows中使用QT的Mingw版本编译开发。

原因2:不使用GBK的文件编码是为了更容易的兼容到linux版本与windows中,否则你需要改QtCreate的编码环境与linux的系统字符环境。

1. 你要明白QObject::tr是干嘛的。它是用于程序国际化使用的,也就可以界面文字翻译成不同的语言。你如果使用QObject::tr,你应该全部用英文表示,然后后面借助Linguist翻译成中文,就不会乱码了。详细请搜索“qt国际化"。

2. 你如果并不是想实现界面语言由英文翻译成各种语言这种国际化,那你完全没有必须使用QObject::tr。你如果只是单独想显示"ddd的d",你就使用btn.setText(QStringLiteral("ddd的d")),肯定不会乱码。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/9952781.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-03
下一篇 2023-05-03

发表评论

登录后才能评论

评论列表(0条)

保存