找回密码
 注册
查看: 1605|回复: 14

QT PushButton上显示中文的问题

[复制链接]
发表于 2005-7-8 12:26:24 | 显示全部楼层 |阅读模式
QString label("视频");
//QFont unifont("unifont",16,50); unifont.setPixelSize(16);
//label.setFont(unifont);
QTextCodec *codec=QTextCodec::codecForName("gb2312");
label=codec->fromUnicode(label);
pb = new QPushButton(tr(label),this,"video");
我的button上显示出来的是四个问号。请问怎么样才能显示出中文?
发表于 2005-7-8 12:38:11 | 显示全部楼层
QString::fromLocal8Bit("视频")
回复

使用道具 举报

发表于 2005-7-8 19:28:47 | 显示全部楼层
http://xchinux.kmip.net/bbs/read.php?tid=29&fpage=1
回复

使用道具 举报

 楼主| 发表于 2005-7-9 16:35:51 | 显示全部楼层
QString::fromLocal8Bit("视频")
不行啊,显示出来是方框!
回复

使用道具 举报

 楼主| 发表于 2005-7-9 18:04:07 | 显示全部楼层
我用的是QT/E不知道是不是不能支持中文?好多方法都试试了,在X下可以显示,同样的方法在QT/E下面不能显示.有哪位大哥知道怎么搞啊?急!!!
回复

使用道具 举报

发表于 2005-7-9 21:32:40 | 显示全部楼层
去掉你所有的代码

pb = new QPushButton(tr(QString::fromLocal8Bit("视频")),this,"video");
回复

使用道具 举报

 楼主| 发表于 2005-7-11 10:06:10 | 显示全部楼层
楼上在大哥,用你那样方法显示出来的是"?"啊,是不是在QT/E下面真的没办法显示出中文啊?
楼上的能不能留个MSN.我的MSN是:[email protected]
回复

使用道具 举报

发表于 2005-7-11 10:38:11 | 显示全部楼层
汗……

你用的是QT/E啊?

是嵌入式的?

你是不是用了i18n?

这样写试试

[code:1]
QPushButton *pb = new QPushButton(QString::fromLocal8Bit("视频"),this,"video");
[/code:1]

PS:MSN在我的profile里有
回复

使用道具 举报

发表于 2005-7-11 10:41:58 | 显示全部楼层
还有,检查一下你的源代码文件是不是UTF-8的
回复

使用道具 举报

 楼主| 发表于 2005-7-11 16:27:02 | 显示全部楼层
我用的是QT/E嵌入式的,i18n 也试过,看着介绍搞的,也不行,你说的我都试过不行.狂晕.一个中文怎么就那么麻烦.
回复

使用道具 举报

 楼主| 发表于 2005-7-12 14:47:41 | 显示全部楼层
还有兄弟知道怎么搞吗?
回复

使用道具 举报

发表于 2005-7-12 15:00:51 | 显示全部楼层
写代码时最好不要直接显示中文.
建议先写成英文的,代码调试完全通了以后汉化才是上策.

QT/E 汉化前提:

1.  所有将来用户看到的字需要用tr(""),例如:new QPushButton(tr("video"));
3.主程序要定义一个QTranslator,然后将*.qm文件(release生成的)load上
3. *.pro文件中加一行:LANGUAGE =*.ts  (
2. 程序调试成功后,汉化时,用lupdate,将生成的*.ts文件用linguist打开*.ts文件,实施汉化->release成*.qm文件

说的不清楚,具体可以参照QT文档,和X11版本的汉化差不多的
回复

使用道具 举报

 楼主| 发表于 2005-7-13 13:53:24 | 显示全部楼层
谢谢楼上,已搞定.
回复

使用道具 举报

发表于 2005-7-13 16:54:39 | 显示全部楼层
想知道你是用哪种方法搞定的?
回复

使用道具 举报

 楼主| 发表于 2005-7-14 10:45:22 | 显示全部楼层
采用楼上所说的国际化方法可,也可能直接设置编码.国际化的方法适合已知的中文字符串,字符串内容不确定和程序运行有关的就只好用另一种方法了.
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

GMT+8, 2025-2-8 06:25 , Processed in 0.023870 second(s), 16 queries .

© 2001-2025 Discuz! Team. Powered by Discuz! X3.5.

快速回复 返回顶部 返回列表