• 8461阅读
  • 3回复

[提问]如何获取支持中文显示的字体集合?! [复制链接]

上一主题 下一主题
离线xizhizhu
 
只看楼主 倒序阅读 楼主  发表于: 2008-11-16
— 本帖被 XChinux 从 Qt基础编程 移动到本区(2013-04-01) —
我使用以下代码:
QFontDatabase fonts;
fonts.families(QFontDatabase::SimplifiedChinese);
但是得到的很多字体还是不能支持中文显示
请问如何获取系统中支持中文显示的字体集呢?
谢谢!

p.s. 我用的是Qt 4.4.3,环境为KUbuntu 8.04
[ 此贴被xizhizhu在2008-11-16 18:09重新编辑 ]
http://xizhizhu.blogspot.com
离线vrcats
只看该作者 1楼 发表于: 2008-11-17
这个不是Qt的问题。Qt在X11下是严格按照XLFD指示的字符集来判断字体是否有中文支持的。有些字符集宣称自己支持中文但是没有中文字符,X11拿它也没什么办法。
离线toldo_chen
只看该作者 2楼 发表于: 2008-12-28
在main.cpp里面设置

#include <qapplication.h>
#include "mainform.h"
#include <qtextcodec.h>


int main( int argc, char ** argv )
{
    QApplication a( argc, argv );
    QTextCodec::setCodecForTr    (QTextCodec::codecForName("GB2312"));
    QTextCodec::setCodecForLocale(QTextCodec::codecForName("GB2312"));
    MainForm w;
    w.show();
    a.connect( &a, SIGNAL( lastWindowClosed() ), &a, SLOT( quit() ) );
    return a.exec();
}

关键是下面这三行
#include <qtextcodec.h>
    QTextCodec::setCodecForTr    (QTextCodec::codecForName("GB2312"));
    QTextCodec::setCodecForLocale(QTextCodec::codecForName("GB2312"));
离线shuminhua

只看该作者 3楼 发表于: 2010-03-23
谢谢!按2楼的做法可以让界面上的所有中文都显示了!
QQ: 398827954
Email: shuminhua@126.com;shuminhua23@hotmail.com
http://www.pumpliu.com/bbs/userspace.asp?sid=4
快速回复
限100 字节
 
上一个 下一个