当前时区为 UTC + 8 小时



发表新帖 回复这个主题  [ 7 篇帖子 ] 
作者 内容
1 楼 
 文章标题 : QT4中如何显示中文?
帖子发表于 : 2007-10-24 16:45 

注册: 2007-04-04 11:00
帖子: 24
送出感谢: 0 次
接收感谢: 0 次
正在学习QT4,想问一下如何在QT4的程序中显示中文?


页首
 用户资料  
 
2 楼 
 文章标题 :
帖子发表于 : 2007-10-25 12:36 

注册: 2007-03-17 13:16
帖子: 113
送出感谢: 0 次
接收感谢: 0 次
很简单,先用英文写程序,然后再加翻译文件。


页首
 用户资料  
 
3 楼 
 文章标题 : QT显示中文
帖子发表于 : 2007-10-25 21:18 

注册: 2007-05-31 16:17
帖子: 41
送出感谢: 0 次
接收感谢: 0 次
#include <QTextCodec>
#include <QFont>
......
QTextCodec::setCodecForTr(QTextCodec::codecForName("UTF-8"));
QApplication::setFont(QFont(QObject::tr("宋体"), 10, QFont::Normal));
......

程序中有中文的地方使用 tr(" ");


页首
 用户资料  
 
4 楼 
 文章标题 :
帖子发表于 : 2007-10-30 9:46 

注册: 2007-04-04 11:00
帖子: 24
送出感谢: 0 次
接收感谢: 0 次
多谢!
:P


页首
 用户资料  
 
5 楼 
 文章标题 :
帖子发表于 : 2008-05-03 10:29 

注册: 2007-04-25 10:19
帖子: 71
地址: EE,SCUT
送出感谢: 0 次
接收感谢: 0 次
有用!


页首
 用户资料  
 
6 楼 
 文章标题 : Re: QT4中如何显示中文?
帖子发表于 : 2012-02-21 19:41 

注册: 2012-02-21 17:46
帖子: 1
送出感谢: 0 次
接收感谢: 0 次
举个例子看看!!!急用。。


页首
 用户资料  
 
7 楼 
 文章标题 : Re: QT显示中文
帖子发表于 : 2012-02-22 9:10 
头像

注册: 2010-02-21 16:19
帖子: 434
地址: 大连
送出感谢: 1
接收感谢: 2
zshxiong 写道:
#include <QTextCodec>
#include <QFont>
......
QTextCodec::setCodecForTr(QTextCodec::codecForName("UTF-8"));
QApplication::setFont(QFont(QObject::tr("宋体"), 10, QFont::Normal));
......

程序中有中文的地方使用 tr(" ");



devbean大神和dbzhang800大神都曾强烈批判过这种写法,原因有三:

1、如果使用GB2312格式保存这篇代码,其他人使用UTF-8打开,那么无疑将会看见乱码。

2、如果将程序发布到一些非简体中文的国家或地区,可能出现对方的机器上根本没有安装任何中文的编码格式,那么就会出现对方无论如何都无法正确显示源代码甚至无法正确运行程序的情况。

3、Qt提供了强大的多国语言工具Qt Linguist,不用白不用。



devbean大神和dbzhang800大神的建议做法是:

1、在代码中所有需要使用中文的地方都用一段英文暂时代替,并用tr()函数做标记。

2、使用Qt Linguist对所有被tr()函数标记的字符串进行翻译,并发布翻译包。

3、在程序中加载翻译包。



详细做法,可以见devbean大神的博客:

《Qt学习之路(33): 国际化(上)》: http://devbean.blog.51cto.com/448512/244689

《Qt学习之路(34): 国际化(下) 》: http://devbean.blog.51cto.com/448512/245063



全文完。





参考资料:

《Qt国际化(源码含中文时)的点滴分析》: http://blog.csdn.net/dbzhang800/archive ... 34852.aspx
首先,个人比较抵制源码中使用中文(当然也包括用tr扩住中文了)。



《Qt中translate、tr关系 与中文问题》: http://hi.baidu.com/cyclone/blog/item/a ... 638be.html


_________________
大连Linux User Group: http://groups.google.com/group/dalian-lug?hl=zh-CN


页首
 用户资料  
 
显示帖子 :  排序  
发表新帖 回复这个主题  [ 7 篇帖子 ] 

当前时区为 UTC + 8 小时


在线用户

正在浏览此版面的用户:没有注册用户 和 1 位游客


不能 在这个版面发表主题
不能 在这个版面回复主题
不能 在这个版面编辑帖子
不能 在这个版面删除帖子
不能 在这个版面提交附件

前往 :  
本站点为公益性站点,用于推广开源自由软件,由 DiaHosting VPSBudgetVM VPS 提供服务。
我们认为:软件应可免费取得,软件工具在各种语言环境下皆可使用,且不会有任何功能上的差异;
人们应有定制和修改软件的自由,且方式不受限制,只要他们自认为合适。

Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
简体中文语系由 王笑宇 翻译