1. 程式人生 > >QT在ubuntu下無法顯示中文的原因,包括QT4與QT5的解決方法

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("測試"));