QT在ubuntu下无法显示中文的原因,包括QT4与QT5的解决方法

一.QT4

      按照网上了说没有字库我添加了还是没用。最后折腾了半天,搞定了,分享一下。

     1.第一步下载font_wenquanyi.rar可以是qpf也可以是ttf,网址

      https://pan.baidu.com/s/1EaB6V9i_DQoKqsfT8_bWMg

      2.将这个字库复制到QT的/lib/fonts下

      3..在mainWindows w下添加

QTextCodec* codec = QTextCodec::codecForName("UTF-8");
QTextCodec::setCodecForLocale(codec);
QTextCodec::setCodecForCStrings(codec);
QTextCodec::setCodecForTr(codec);

 

      4.写text时,ui->button->setText(QString::fromUtf8("测试"));即可

二.QT5

     这个就要感谢我的同事,经过他长时间的试验终于解决了。

     1.下载ttf格式的字体以及设置

下载我这里就不多说了直接上设置代码,在main里加入

int id = QFontDatabase::addApplicationFont("/lib/fonts/WenQuanYi_Micro_Hei.ttf");
QString msyh = QFontDatabase::applicationFontFamilies(id).at(0);
QFont font(msyh, 10);
font.setPointSize(20);
a.setFont(font);

   2.写text时,如果不是UTF-8格式的时候,ui->button->setText(QObject::trUtf8("测试"));

 

你可能感兴趣的:(QT)