QTextCodec::setCodecForTr(QTextCodec::codecForName("gb18030"));
label->setText(tr("中文"));
|
QTextCodec::setCodecForCStrings(QTextCodec::codecForName("gb18030")); QString str = "中文"; label->setText(str);
|
对项目中所有的tr()和QString都有效,不必考虑变量的域的问题
补充: 静态编译程序的时候还是会乱码,查了下资料,静态编译用以下方法
QTextCodec::setCodecForLocale(QTextCodec::codecForLocale()); QTextCodec::setCodecForTr(QTextCodec::codecForLocale()); QTextCodec::setCodecForCStrings(QTextCodec::codecForLocale());
|
动态
QTextCodec::setCodecForLocale(QTextCodec::codecForName("GB2312")); QTextCodec::setCodecForTr(QTextCodec::codecForName("GB2312")); QTextCodec::setCodecForCStrings(QTextCodec::codecForName("GB2312"));
|
阅读(6461) | 评论(1) | 转发(0) |