龙芯1B上的QT程序中文显示乱码的解决方案

用了两种方法实现中文输入。中文输入的问题一般出现在QT4的开发环境下,我所使用的QT开发环境是QT4.8.6。
方法一:在龙芯1B上执行程序时加上一个参数,-fn unifont
$./helloword -qws -fn unifont
方法二:自行下载中文字体,放入lib库中。以文泉绎字体为例。
一、下载文泉绎的字体库,wqy-microhei.ttf,把该字体下载到龙芯1B系统中的lib/fonts文件夹中。我在龙芯开发板中的目录为,/opt/qt4lib/lib/fonts
二、将字体库所在路径配置进环境变量中(默认环境或者已经配置则不需要这一步)
#vi etc/profile
在此文件中,添加
export QTDIR=/opt/qt4lib
export QT_QWS_FONTDIR=/opt/qt4lib/lib/fonts
三、在linux条件下,查看刚下载的wqy-microhei的名称(不是文件名)。
查看方式:在文件夹上右键,选择Fonts打开方式,点击“信息”按钮查看。
四、在你想要在龙芯1B的运行的程序的main.cpp的类文件中,添加几行代码(该方法只保证对QT4有效)
MainWindow a;
QTextCodec::setCodecForLocale(QTextCodec::codecForName(“UTF-8”));
QTextCodec::setCodecForTr(QTextCodec::codecForName(“UTF-8”));
QTextCodec::setCodecForCStrings(QTextCodec::codecForName(“UTF-8”));
QFont font;
font.setFamily(“WenQuanYi Micro Hei”); //双引号下的就是该字体库的名称。
a.setFont(font);

猜你喜欢

转载自blog.csdn.net/baidu_31788709/article/details/89299192
今日推荐