说明:
- 我采用的是qt-everywhere-opensource-src-4.8.5.tar.gz,configure->make->make install的方式安装的,发现中文无法显示,直接空白。
- 并不清楚系统会不会影响,推荐先装给系统上中文输入法。
方法:System Setting... -> Language Support -> Install/Remove Language... -> Chinese Simplified
解决:
- 在main代码上加上几句话试试。
QTextCodec::setCodecForTr(QTextCodec::codecForName("UTF-8"));
QTextCodec::setCodecForCStrings(QTextCodec::codecForName("UTF-8"));
QTextCodec::setCodecForCStrings(QTextCodec::codecForName("UTF-8"));
- 如果不行,很有可能是安装的qt的问题。
安装2个依赖,再配置。配置的时候加上 -fontconfig。
sudo su
apt-get install libfontconfig1-dev
apt-get install libfreetype6-dev
./configure -fontconfig && make && make install //此命令在qt-everywhere-opensource-src-4.8.5目录下运行。 - pc上用的字库很可能arm上没有,导致arm上显示得很奇怪,下载一个字库放在环境,然后代码中调用字库,可以让pc跟arm共享同样的字库。
Widget w;
w.setFont(QFont("zhenghei",14,QFont::Normal));//这行是关键,没有这行是显示不了中文的。
去文泉驿官方网下载正黑字库。解压,把 wqy-zenhei.ttc 改为 zhenghei.ttc ,然后把这个ttc放到 /opt/qt-4.5/lib/fonts(lib下没有 fonts 就 mkdir 一个),再在main中加入一句话:
w.setFont(QFont("zhenghei", 14, QFont::Normal)); -
完成。
参考: