今天学习Qt的中文显示,困扰了整整一下午了,我使用的是Qt designer 版本3.3.4,还处于学习阶段,有很多不懂的地方。
在网上搜索了很多关于中文显示的问题,主要有两种,一种是方框问题,一种是乱码问题。方框问题有2种:第一种是代码写入区域,输入中文字符的时候显示方框
这种问题可以直接设置Qt designer 开发环境,edit->preferences总的c++editer 中,左边的element选中string,右边family选择Ar Pl UKai CN 或者Ar Pl Uming CN或者Song Ti,即可解决,左边的element还可以选择注释“comment”等等的字体。第二种是窗口上显示方框
这种问题是因为窗口默认的字体都是helvetica,所以中文无法正常显示,只能是方框,需要给按钮设置字体。b->setFont(QFont("Song Ti", 18, QFont::Bold));这样就可以正常显示了,。
乱码的问题比较好解决点,添加头文件<qtextcodec.h>,在窗口程序生成之前即紧跟在QApplication app(argc, argv)之后,添加语句:
QTextCodec::setCodecForTr(QTextCodec::codecForName("utf8"));
在试用字符串的地方试用QObject::Tr("str"),str是你要使用的含有中文的字符串。
至此,就可以解决中文显示乱码和方框的问题。