2011-08-09 21 views
0

私はQt-Embedded 4.7.3を使用しており、ウィジェットに漢字を表示しようとしています。 qvfbを使用してアプリケーションをテストできるように、私はQt埋め込みのx86バージョンを構築しました。しかし、私は何らかの未知の理由で中国語を表示することはできません。Qt-Embedded 4.7.3で漢字を表示できません

#include <QApplication> 
#include <QLabel> 
#include <QTextCodec> 

int main(int argc, char *argv[]) 
{ 
    QApplication app(argc, argv); 
    QTextCodec::setCodecForCStrings(QTextCodec::codecForName("UTF-8")); 
    QTextCodec::setCodecForLocale(QTextCodec::codecForName("UTF-8")); 

    QLabel* label = new QLabel("Chinese中文"); 
    label->show(); 

    return app.exec(); 
} 

私は「WenQuanYiMicroHeiLight.ttf」中国語フォントがlibに/フォントの下にインストールされている:ここで私が使用したテストプログラムです。中国語の文字はUTF-8でエンコードされているので、Qt Docummentによれば、これでウィジェットに中国語を表示できます。しかし、QVFBでアプリケーションを実行すると、中国語が表示されませんでした。

アイデア?

編集: その後、実際にはシステムによって引き起こされていることがわかりました(実際はわかりません)。私はDebianに切り替えて、中国人はもう一度見せています。これは私の古いシステム(ArchLinuxではgnome2パッケージを保持していますが...)のパッケージ依存性の問題に関連するかもしれません。

ありがとうございます。

答えて

2

問題はわかりませんが、コードファイルにASCII以外の文字を含めないでください。コードはすべて英語で書いてください。また、Qtの国際化の概念(tr、QTranslator、linguist) Guiを翻訳する。

0

translate文字列を使用していませんか?ここにはanother good articleがあります。

QLabel* label = new QLabel(tr("Chinese中文"));かもしれません。それは少なくとも始まりです。

+0

はい、それでもうまくいきませんでした... – Aitjcize

+0

'tr()'は翻訳の文字列をマークします。それ自体は何もしません。 – koan

関連する問題