label->setText中显示乱码的问题

weixin_38068363 2019-09-19 01:50:48
我是新手,最近Qt for Windows7的creator中编写了一个小程序,其中利用到了label组建的setText显示几个汉字,即 ui->label->setText(tr("按下键盘上的A键试试!"));运行正常,但是显示却是乱码一样的字,不知道哪里错了?
...全文
789 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
weixin_38075729 2019-09-19
  • 打赏
  • 举报
回复
你把源文件的格式改成UTF-8了么? 在windows下的System可能是GB2312吧.
weixin_38080704 2019-09-19
  • 打赏
  • 举报
回复
提醒下楼主 tr()里面最好放英文,然后再翻译一下,放中文不是很中统。
weixin_38089806 2019-09-19
  • 打赏
  • 举报
回复
我一般会在QApplication a(argc, argv);之后立马加上一个QTextCodec::setCodecForTr(QTextCodec::codecForLocale()); 这样就可以按本地系统翻译了~~~不过之前如果打中文,到了其它语言的系统,应该也会出现乱码!
weixin_38096146 2019-09-19
  • 打赏
  • 举报
回复
QTextCodec::setCodecForTr(QTextCodec::codecForLocale());
weixin_38096689 2019-09-19
  • 打赏
  • 举报
回复
引用第9楼luoshupeng于2011-05-03 21:43发表的  :QTextCodec::setCodecForTr(QTextCodec::codecForLocale()); 呵呵,一旦使用这条语句,就说明你不准备让自己程序国际化了。既然不需要国际话,又为何用tr呢?
weixin_38097791 2019-09-19
  • 打赏
  • 举报
回复
在主程序中加上#include <QTextCodec>和QTextCodec::setCodecForTr(QTextCodec::codecForLocale());就可以正常显示中文了
weixin_38102736 2019-09-19
  • 打赏
  • 举报
回复
我也遇到了这样的问题,在楼上的各种指导下,我也解决了,万分感谢!
weixin_38103537 2019-09-19
  • 打赏
  • 举报
回复
QTextCodec* codec = QTextCodec::codecForLocale();QTextCodec::setCodecForCStrings(codec);QTextCodec::setCodecForLocale(codec);QTextCodec::setCodecForTr(codec); 在main()里加上试试!

433

社区成员

发帖
与我相关
我的任务
社区描述
其他技术讨论专区
其他 技术论坛(原bbs)
社区管理员
  • 其他技术讨论专区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧