• 8101阅读
  • 10回复

[提问]在别的机器上运行Message框里显示乱码? [复制链接]

上一主题 下一主题
离线moment
 
只看楼主 倒序阅读 楼主  发表于: 2011-05-21
— 本帖被 XChinux 从 Qt基础编程 移动到本区(2013-04-01) —
关键词: 初学者的问题
QTextCodec *codec = QTextCodec::codecForName("System");
    QTextCodec::setCodecForLocale(codec);
    QTextCodec::setCodecForCStrings(codec);
    QTextCodec::setCodecForTr(codec);
这段代码我加在main()里面了,也在路径里加了codecs各种dll,在我的电脑上运行都是对的,在没装qt的电脑上界面上的中文都没问题,就是QMessage警告框里面的中文变成乱码了。。。还有一个listwidget框也出不来了~~不知道为什么,请教各位大牛~~~~
[ 此帖被moment在2011-05-21 12:37重新编辑 ]
离线dbzhang800

只看该作者 1楼 发表于: 2011-05-21
1. 你没搞清楚
QTextCodec::codecForName("System");
是做什么。system 这个东西不使用插件。

2. 贴你的代码QMessage相关的代码。
离线moment
只看该作者 2楼 发表于: 2011-05-21
回 1楼(dbzhang800) 的帖子
QMessage代码如下:
QMessageBox::warning(this,tr("Warning"),tr("该月记录不存在"),QMessageBox::Yes);
QMessageBox::information(this,tr("操作完成"),tr("保存成功!"),QMessageBox::Yes);
。。。。。还有几个都是一样的。。。
离线dbzhang800

只看该作者 3楼 发表于: 2011-05-21
把你的整个程序精简到20行以内,只测试你的QMessageBox。

贴出你的代码和测试结果。
离线dbzhang800

只看该作者 4楼 发表于: 2011-05-21
另外,“界面上的中文都没问题” 是什么意思?你不会是desinger中输入的中文吧?
离线moment
只看该作者 5楼 发表于: 2011-05-21
回 4楼(dbzhang800) 的帖子
是用的Qcreator输入的中文。。。。
离线dbzhang800

只看该作者 6楼 发表于: 2011-05-21
Re:回 4楼(dbzhang800) 的帖子
引用第5楼moment于2011-05-21 13:52发表的 回 4楼(dbzhang800) 的帖子 :
是用的Qcreator输入的中文。。。。

这就对了,先去搞清楚基本概念再说:

http://hi.baidu.com/cyclone/blog/item/9d7293130e5a498d6538dbf1.html
离线moment
只看该作者 7楼 发表于: 2011-05-21
回 6楼(dbzhang800) 的帖子
传给Message的C字符串,不是QString啊,单独测试messagebox的时候是可以显示的,换台电脑就不可以了。。。
离线dbzhang800

只看该作者 8楼 发表于: 2011-05-21
Re:回 6楼(dbzhang800) 的帖子
引用第7楼moment于2011-05-21 16:04发表的 回 6楼(dbzhang800) 的帖子 :
传给Message的C字符串,不是QString啊,单独测试messagebox的时候是可以显示的,换台电脑就不可以了。。。

1. 贴你的完整的测试程序(不会超过20行)

2. 用事实来佐证你的观点。比如打开Manual,贴出你使用的 QMessageBox  的成员函数
(我还真想看看哪一个成员用的是 char * 而不是 QString)
离线moment
只看该作者 9楼 发表于: 2011-05-21
回 8楼(dbzhang800) 的帖子
恩,我用你博客里的toUnicode解决了,大牛,膜拜一番
还有那个listwidget出不来是怎么回事?
离线roywillow

只看该作者 10楼 发表于: 2011-05-21
这种tr+中文的方式感觉还真是……
专业维修核潜艇,回收二手航母、二手航天飞机,大修核反应堆,拆洗导弹发动机更换机油,无人侦察机手动挡改自动,航天飞机保养换三滤,飞碟外太空年检 ,各型号导弹加装迎宾踏板,高空作业擦洗卫星表面除尘、打蜡及抛光,东风全系列巡航导弹。并提供原子对撞机。量大从优,有正规发票。
快速回复
限100 字节
 
上一个 下一个