• 8474阅读
  • 10回复

[提问]QT乱码问题 [复制链接]

上一主题 下一主题
离线紫露霜凝
 
只看楼主 倒序阅读 楼主  发表于: 2010-03-25
— 本帖被 XChinux 从 Qt基础编程 移动到本区(2013-04-01) —
我在ubuntu下安装了qt4.6.2运行程序出现乱码,程序中使用到中文都是小方块,而且直接打开自带的linguist语言工具中文部分也是乱码,不知道是什么原因。希望各位帮忙,使用了翻译工具还是乱码,感觉是qt系统配置上存在问题。郁闷了很久,在windows下是正常的。
离线bilyecit

只看该作者 1楼 发表于: 2010-03-25
中文都是小方块 说明没有找到中文字体
试试下面的办法:
app.setFont(QFont(“wenquanyi”,12,50))
或:
QFont font;
Font.setFamily(QString::fromUtf8(“sscsimsum”));
Font.sePointSizw(12);
app.setFont(font);
离线紫露霜凝
只看该作者 2楼 发表于: 2010-03-26
引用第1楼bilyecit于2010-03-25 16:03发表的  :
中文都是小方块 说明没有找到中文字体
试试下面的办法:
app.setFont(QFont(“wenquanyi”,12,50))
或:
QFont font;
.......

还是不行阿,加上以后小方块也没了,只剩下字母了,这该怎么改阿,能否再帮我想想办法,谢谢了
离线bilyecit

只看该作者 3楼 发表于: 2010-03-26
没找到字体,你机器上有wenquanyi或sscsimsum字体么?
你在$QTDIR/lib目录下:
mkdir  fonts
然后把simsun.ttf放到该目录下试试。
附件: simsun.rar (5365 K) 下载次数:5
离线紫露霜凝
只看该作者 4楼 发表于: 2010-03-26
引用第3楼bilyecit于2010-03-26 10:59发表的  :
没找到字体,你机器上有wenquanyi或sscsimsum字体么?
你在$QTDIR/lib目录下:
mkdir  fonts
然后把simsun.ttf放到该目录下试试。

你好,谢谢你的帮忙,我加上以后怎么还是没有改善了,和添加之前效果还是一样,这到底是怎么拉,真是急人。
离线lisuzhen929
只看该作者 5楼 发表于: 2010-03-26
QtextCodec::setCodecForTr(QTextCodec::codecForName("GBK"));
        Qfont font("Times",10,QFont::Normal,false);
        app.setFont(font);
你这样试一下行不行
离线紫露霜凝
只看该作者 6楼 发表于: 2010-03-26
引用第5楼lisuzhen929于2010-03-26 14:41发表的  :
QtextCodec::setCodecForTr(QTextCodec::codecForName("GBK"));
        Qfont font("Times",10,QFont::Normal,false);
        app.setFont(font);
你这样试一下行不行

谢谢,这个我试过了,也是不行,汉字还是方块,有可能是没有中文字库,我的是qt4.6版本的,不知怎么加字库
离线hasitate

只看该作者 7楼 发表于: 2010-03-26
你的系统能显示中文吗,如果不行,中文系统就没装好。
如果能显示中文,应该是缺少某些中文字库,需要添加需要的东西。
记不得需要添加哪些东西,你运行程序管理器,搜索“zh"的相关东西,然后试试安装一些没有安装过的和中文相关的字体软件
离线紫露霜凝
只看该作者 8楼 发表于: 2010-03-26
引用第7楼hasitate于2010-03-26 15:52发表的  :
你的系统能显示中文吗,如果不行,中文系统就没装好。
如果能显示中文,应该是缺少某些中文字库,需要添加需要的东西。
记不得需要添加哪些东西,你运行程序管理器,搜索“zh"的相关东西,然后试试安装一些没有安装过的和中文相关的字体软件

很有可能是这个问题,可是我还是不知道怎么安装中文字体阿,系统能够显示中文,应该是缺少字库,系统中文字库只有unifont可是用了之后,中文显示还是有很大的问题,有部分乱码并且模糊不清。你要是想起来怎么添加的话帮我一把吧,谢谢拉!
离线bilyecit

只看该作者 9楼 发表于: 2010-03-26
引用第8楼紫露霜凝于2010-03-26 17:34发表的  :
很有可能是这个问题,可是我还是不知道怎么安装中文字体阿,系统能够显示中文,应该是缺少字库,系统中文字库只有unifont可是用了之后,中文显示还是有很大的问题,有部分乱码并且模糊不清。你要是想起来怎么添加的话帮我一把吧,谢谢拉!

出现乱码应该是字符编码的问题。
如果你的Qt程序使用的是UTF-8编码,那么你写代码的时候也用UTF-8编码。
离线紫露霜凝
只看该作者 10楼 发表于: 2010-03-27
用UTF-8写代码和平时的有什么不同阿,就算我程序中不直接用中文,而是通过翻译器显示中文还是小方块。
快速回复
限100 字节
 
上一个 下一个