要在Qt的应用程序中显示汉字,需有2个条件需满足: 1.汉字库文件,如“宋体”simsun.ttc,如果Qt找不到汉字库,或者要显示的汉字不再Qt能找到的汉字库中,可以用WindowsXp下的字库文件,在windows/fonts目录下,直接拷贝到Qt的lib/fonts目录下; 2.显示汉字的编码要告诉Qt,如果使用tr转换显示的汉字,则在类的构建函数中添加 ui.setupUi(this); QTextCodec::setCodecForTr(QTextCodec::codecForName("utf8"));//tr使用的编码 QTextCodec::setCodecForCStrings(QTextCodec::codecForName("utf8"));//QString使用的编码,没有这一条 //则QString str(tr(“中文”)),能正常显示,QString str(“中文”);会显示乱码 //另外要特别注意的是这两条语句放置的位置,在构造函数中,只对当前类有效,放到main函数中,无效 这样,在该类的后面使用tr转换的字符串,就会认为是utf8编码的了.
附件:QT汉字.rar 附件中是一个qt写的小例子,其中使用的是simsun.ttc,仅供参考。 |
|小黑屋| 飞凌嵌入式 ( 冀ICP备12004394号-1 )
GMT+8, 2024-11-23 12:54
Powered by Discuz! X3.4
© 2001-2013 Comsenz Inc.