qt/e在arm板上显示中文的方法

QTCN社区 -> Qt嵌入式开发 -> 求qt/e在arm板上显示中文的方法 [打印本页]登录 注册 回复主题 发表主题

newalan 2008-04-15 00:38

求qt/e在arm板上显示中文的方法

求qt/e在arm板上显示中文的方法
arm板是2410的,我在pc上的交叉编译环境是基于qt/e 2.3.10的,急求显示中文的方法(已能显示英文,只显示一个button,button上有英文字),最好贴写源码。
板子的/usr/qt/etc/fonts下有字体文件fontdir, 里面有几个helvetica的字体,比如其中一行为
helvetica  helvetica_120_50.qpf  QPF  n  50  120  u
不知怎么设置,怎么编写代码,请赐教(源码)
我用下面的方法总是出现段错误,没法运行。
QTextCodec *code = QTextCodec::codecForName("GBK");
QString unistr = code->toUnicode("你好");

浪漫天使 2008-04-15 02:26
QTextCodec *code = QTextCodec::codecForName("GBK");
这个code返回是空的 可能是不支持gbk,你可以用翻译的方法来达到中文的效果啊

badicoubid 2008-04-15 15:45
TO LZ:
第一:你要有中文字体,如unifont

第二:你要设置你的显示控件使用中文字体
QFont f;
f.setFamily("unifont");
f.setPointSize(16);

label->setFont(f) ;


第三:qApp->setDefaultCodec(QTextCodec::codecForName("GBK"));

newalan 2008-04-16 00:46
引用
引用第2楼badicoubid于2008-04-15 15:45发表的  :
TO LZ:
第一:你要有中文字体,如unifont

第二:你要设置你的显示控件使用中文字体
QFont f;
f.setFamily("unifont");
f.setPointSize(16);

label->setFont(f) ;


第三:qApp->setDefaultCodec(QTextCodec::codecForName("GBK"));
.......

谢谢你的回答!
我在pc端的qvfb下先争取中文能正确显示(现在还是乱码)
1 有中文字体unifont

3 这个函数setDefaultCodec() 已经处于obsolete(废弃)状态,不能用了

能不能多贴点完整的源码,我接触的不过,代码太少了理解不了

newalan 2008-04-16 20:45
谁有能正常显示中文的qt/e 程序源码? 
发给我几个看看,搞明白后我将写个帖子以告后来者,多谢大家!
我的邮箱是 zfzhang@hitic.ia.ac.cn
只要是能在arm板上正常显示中文即可,不管程序中使用了什么方法。
复杂的别人的源码也可以,我自己一直没找到。
谢谢诸位!

owenbbkp 2008-04-17 20:30
代码和一些介绍:
http://blog.chinaunix.net/u2/66512/showart_545135.html
代码是Qtopia Core版本的,你需要稍微改一下

newalan 2008-04-23 14:39
引用
引用第5楼owenbbkp于2008-04-17 20:30发表的  :
代码和一些介绍:
http://blog.chinaunix.net/u2/66512/showart_545135.html
代码是Qtopia Core版本的,你需要稍微改一下

我想知道,如果读取一个文本文件中的中文并显示(文本文件的编码是UTF8)怎么实现,这种情况恐怕不能用qt的国际化方法了吧?

kjpioo 2009-02-17 12:58
引用
引用第6楼newalan于2008-04-23 14:39发表的  :

我想知道,如果读取一个文本文件中的中文并显示(文本文件的编码是UTF8)怎么实现,这种情况恐怕不能用qt的国际化方法了吧?

kjpioo 2009-02-17 13:00
这种情况下你直接读取文本信息,保存在QString对象中,再直接显示这个QString 对象就可以了。

aven152273 2009-02-17 17:02
QTextCodec *code = QTextCodec::codecForName("UTF8");
QString unistr = code->toUnicode("你好");
label->setText(unistr );

aven152273 2009-02-17 17:04
如果编码不是utf8的话。恐怕还需要再用fromUnicode()函数再转化一下

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值