qt中文显示乱码
btn.setText(QObject::tr("ddd的d"));显示出来的是dddd,没有中的“的”求高手。就20分了,都给了...
btn.setText(QObject::tr("ddd的d"));
显示出来的是 dddd,没有中的 “的”
求高手。就20 分了,都给了 展开
显示出来的是 dddd,没有中的 “的”
求高手。就20 分了,都给了 展开
4个回答
展开全部
1. 你要明白QObject::tr是干嘛的。它是用于程序国际化使用的,也就可以界面文字翻译成不同的语言。你如果使用QObject::tr,你应该全部用英文表示,然后后面借助Linguist翻译成中文,就不会乱码了。详细请搜索“qt国际化"
2. 你如果并不是想实现界面语言由英文翻译成各种语言这种国际化,那你完全没有必须使用QObject::tr。你如果只是单独想显示"ddd的d",你就使用btn.setText(QStringLiteral("ddd的d"));,肯定不会乱码。
2. 你如果并不是想实现界面语言由英文翻译成各种语言这种国际化,那你完全没有必须使用QObject::tr。你如果只是单独想显示"ddd的d",你就使用btn.setText(QStringLiteral("ddd的d"));,肯定不会乱码。
2014-03-12
展开全部
你的版本是多少?
Qt5及以上:
注意:首先将源文件保存成带BOM的UTF-8格式
一:QStringLiteral
setWindowTitle(QStringLiteral("我是中文"));
二:
QTextCodec *codec = QTextCodec::codecForName("GB18030");
setWindowTitle(codec->toUnicode("我是中文"));
三:
setWindowTitle(QString::fromLocal8Bit("我是中文"));
Qt5及以上:
注意:首先将源文件保存成带BOM的UTF-8格式
一:QStringLiteral
setWindowTitle(QStringLiteral("我是中文"));
二:
QTextCodec *codec = QTextCodec::codecForName("GB18030");
setWindowTitle(codec->toUnicode("我是中文"));
三:
setWindowTitle(QString::fromLocal8Bit("我是中文"));
追问
最初安装这个方法是可以的,然后的新建了一个 中文的文件夹,然后 所以程序按钮上的中文就不能显示了
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
这个设置下,显示中文就可以了。
#include <QTextCodec>
QTextCodec::setCodecForTr(QTextCodec::codecForLocale());放在主函数
#include <QTextCodec>
QTextCodec::setCodecForTr(QTextCodec::codecForLocale());放在主函数
追问
最初安装这个方法是可以的,然后的新建了一个 中文的文件夹,然后 所以程序按钮上的中文就不能显示了
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
优质机构答主
2021-03-06 · 百度认证:广东太平洋互联网信息服务有限公司官方账号,优质数码...
关注
展开全部
解压文件出现中文乱码怎么办解决办法
华为Mate50 Pro曲面旗舰手机
¥6799
苹果 AirPods Pro 2代
¥1699
索尼65英寸4K HDR专业游戏电视
¥7499
惠普战66五代15.6英寸轻薄本
¥4399
查
看
更
多
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询