标题:【提问】关于其QT/e-3.3.4显示中文
作者:calf9007
日期:2005-11-17 21:19
内容:
我用“QT国际化编程”可以在板子上显示中文,可不能显示从文件中读取的中文字符串,
如果设置:QGbkCodec* gbk=QTextCodec::codeForName(“GBK”);程序就死掉了
请问:这里的“GBK”库与操作系统有无关系,还有QTE库本身支持“GBK”?
我该如何处理,才能显示中文(只是提供给本地用户使用,无需国际化,只显示中文就可以了)呢?
谢谢!
#1 [angusliu 11-18 11:13]
如果设置:QGbkCodec* gbk=QTextCodec::codeForName(“GBK”);程序就死掉了
可能是你编译的QTE库里不支持QTextCodec,返回的gbk为NULL
另外可以试试在程序里加上QFont的设置
#2 【提问】Re:【提问】关于其QT/e-3.3.4显示中文 [calf9007 11-18 20:44]
谢谢你,请问怎么才能使QT/E库支持QTextCodec,我试着注释掉了qconfig-medium.h,qconfig-minimal.h,qconfig-small.h 中TextCodec相关的宏定义,可是还是不行?
你有什么建议么?
QFont Unicode设置过了,qt国际化可以显示中文!
#3 [angusliu 11-18 21:19]
一般情况下,编译QTE时选择full应该就支持QTextCodec了
./configure -qconfig full ...
#4 [calf9007 11-19 11:21]
还是不行,
QGbkCodec* gbk=QTextCodec::codeForName(“GBK”);程序就死掉了
可能是你编译的QTE库里不支持QTextCodec,返回的gbk为NULL
我觉得也有可能是找不到“GBK”字库,和嵌入式LINUX操作系统有关
请问:编译QT/E库时,有没有设置:寻找字库路径的环境变量?比如:LANGUAGE一类的,你知不知道 LC_ALL 这个环境变量?谢谢!
#5 [calf9007 11-21 19:16]
编译的QTE库里不支持QTextCodec,返回的gbk为NULL,
我在codeForName()函数体内加了“printf()”语句,证明确实执行了codeForName()函数,
请问您还有什么建议呢?