Linux Qt4编译出来的程序无法显示中文的一种可能原因

赞赏 2017-07-26

Linux使用Qt4编译出来的程序无法在按钮等处显示中文


Linux使用Qt4编译出来的程序无法在按钮等处显示中文(注意本文仅限Qt4,x86桌面版,而且Qt是自己编译的),上网找了很多文章,解决方法无非以下两种:


1. 编码问题

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


2.字体问题

int main(int argc, char *argv[])
{
    QApplication a(argc, argv);
    QFont font;
    font.setPointSize(12); //12的字号
    font.setFamily(("wenquanyi"));
    font.setBold(false);
    a.setFont(font);
    qtest w;
    w.show();
    return a.exec();
}


可惜以上两种方法都不能解决我的问题,而且我发现,不仅是中文字体,我的Qt连英文字体都无法设置。

找了半天终于找到解决方法:

http://blog.163.com/qimo601@126/blog/static/15822093201382611615112/


但是他是 fedora15,我是Ubuntu14.04,鉴于yum不会用,所以我没有:

yum install freetype
yum install freetype-devel 
yum install fontconfig-devel

而是:

sudo apt-get install libfontconfig1-dev

然后使用:

./configure -fontconfig


重新编译一遍Qt,然后就可以正常显示中文了。

以上仅供参考,操作之前请先对自身实际情况进行分析。

登陆后阅读全文
阅读 1134 赞赏 0 有用 4 没用 0 收藏 1 分享

   



0 条留言

匿名

事了拂衣去 深藏身与名

相关文章

安全组设置允许SSH登录到 Linux 实例

Linux 流控原理,实现,及实例

Linux 如何使用 kpartx 命令读取分区表信息

云服务器 ECS Linux /tmp 目录文件是如何做到定期清理的?

Linux Web 环境配置站点的方法

Linux 内核配置问题导致 NAT 环境访问异常

Linux Mac Window网络异常时如何抓包?

Linux 系统虚拟主机 .htaccess 如何限制某些 IP 访问?

云服务器 ECS Linux 系统如何屏蔽某个 IP 的访问?

Linux IO占用高问题如何排查?

有料推荐

这世界欠我一个这样的老公!

高校学生模仿“世界名画”摆拍,可以说是戏精本精了

iPhone X 跌破发行价,苏宁200亿入股恒大 | 财经日日评

果然是高手!这次在日本,特朗普竹杠敲得不是一般狠

资深黄牛现身说法:iPhone X价格秒变不停,就像炒股一样

长一样的双胞胎也能识别?蚂蚁金服发布「眼纹识别」技术

苏联是怎么被阿富汗拖垮的?

美团或入局「分时租赁」共享汽车,王兴要大笔投入「泛出行」领域了? | 36氪独家

你或许被“一盘番茄炒蛋”刷屏了,但有人辛酸,有人质疑

iPhone X发售前夜,黄牛与苹果公司的不安

手机扫一扫
分享文章