服务器之家:专注于服务器技术及软件下载分享
分类导航

Linux|Centos|Ubuntu|系统进程|Fedora|注册表|

服务器之家 - 服务器系统 - Ubuntu - Ubuntu 面向对象的框架Qt移植到开发板后如何显示中文

Ubuntu 面向对象的框架Qt移植到开发板后如何显示中文

2019-10-23 17:51Ubuntu教程网 Ubuntu

Qt是面向对象的框架,但将Qt移植到开发板中却无法中文显示,那么要如何让Qt也能在开放板上显示中文呢?下面有个不错的方法,大家不妨一试

Qt面向对象的框架,在Ubuntu中能够中文显示,但将Qt移植到开发板中却无法中文显示,那么要如何让Qt也能在开放板上显示中文呢?下面小编就给大家介绍下Ubuntu Qt移植到开发板显示中文的方法。

  显示中文主要是两点,一是编码,而是字体。

  关于编码网上查的资料各种说法都有,utf8 gbk gb2312的,我用的是utf8.

  开发板上必须也有对应的中文字体才能够显示中文,我这里在Ubuntu 12.04的安装目录中usr/share/fonts/truetype/wqy目录下,将这个拷贝到开发板Qt库中的字体库中,注意要将Qt的字体路径加入环境变量QT_QWS_FONTDIR=/opt/qt-4.8.4/lib/fonts

Ubuntu 面向对象的框架Qt移植到开发板后如何显示中文

  最后,在主函数中加入代码即可:

  #include “widget.h”

  #include 《QApplication》

  #include 《QTextCodec》

  int main(int argc, char *argv[])

  {

  QApplication a(argc, argv);

  QTextCodec *codec = QTextCodec::codecForName(“utf8”);

  QTextCodec::setCodecForLocale(codec);

  QTextCodec::setCodecForCStrings(codec);

  QTextCodec::setCodecForTr(codec);

  QFont font;

  font.setFamily((“wqy-microhei”));

  Widget w;

  w.setWindowFlags(Qt::FramelessWindowHint);

  w.show();

  return a.exec();

  }

  在使用的时候使用tr宏例如ui-》statelabel-》setText(tr(“摄像头已经运行!”))

  这样在开发板上运行的时候就可以使用中文字体,而且不会有字体大小以及排版等方面的问题。

  上面就是Linux Qt移植到开发板显示中文的方法介绍了,主要是开发板中没有对应的中文字体所导致的,只需将Qt的字体路径导入到开发板中即可。

延伸 · 阅读

精彩推荐