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("测试"));

 

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值