• 3340阅读
  • 2回复

[提问]发布qt开发的程序时中文菜单不能显示 [复制链接]

上一主题 下一主题
离线lj_wml
 

只看楼主 倒序阅读 楼主  发表于: 2015-10-09
不知各位是否碰到这样的问题
linux系统 自带qt4.7.4 使用自己编译的qt4.8.6开发的qt程序在本机运行,中文菜单可以正常显示。 (中文是使用qm文件)
发布时放到同样的机器上(linux平台 qt4.7.4,没有编译的qt4.8.6),其中包括开发的程序以及需要的qt4.8.6版本的动态库。
结果发现当程序使用qt4.8.6版本的动态库时,中文菜单不能显示,但是使用qt4.7.4版本的动态库时,可以正常显示。
英文没有问题。
大家有什么意见以及解决方法吗?
谢谢。
离线smaller

只看该作者 1楼 发表于: 2015-10-21

int main(int argc, char *argv[])
{
    QApplication a(argc, argv);

    QTextCodec::setCodecForLocale(QTextCodec::codecForName("utf8"));
    QTextCodec::setCodecForTr(QTextCodec::codecForName("utf8"));
    QTextCodec::setCodecForCStrings(QTextCodec::codecForName("utf8"));

    QFont font;
    font.setPointSize(160);
    font.setFamily(("wenquanyi"));
    font.setBold(false);
    a.setFont(font);

    seaso_opw w;
    w.show();

    return a.exec();
}

头文件自己添加#include <QTextCodec>
字库放到移植好的 Qt/lib/font下即可
需要自己设置字库下面是我自己用的字库,可以自己找其他字库

http://yunpan.cn/cFSr3ihcudvDr  访问密码 2df3
离线smaller

只看该作者 2楼 发表于: 2015-10-21
如果是pc版本
屏蔽:  QFont font;
    font.setPointSize(160);
    font.setFamily(("wenquanyi"));
    font.setBold(false);
    a.setFont(font);
即可
快速回复
限100 字节
 
上一个 下一个