Qtは複数のサイズを表示します.

4868 ワード

Qtは複数のサイズを表示します.
          
ZZZ:http://hi.baidu.com/weiweisuo1986/item/4f6b9797999836bc83d29501
Qtは複数のサイズを表示します.
            最近やっているプロジェクトで、ネットの情報マシンを固めて、Qtの中の文化の問題に出会いました.中国語が表示できないのではなく、サイズの問題です.
プロジェクトの中で文泉駅の中国語の書庫を移植して、とても良いのは中国語を表示することができます!(ここは非常に感謝しています.Qtの中の文化に便利を提供してくれました.)しかし、一つの問題があります.文泉駅の書庫は一つのサイズしかサポートしていません.例えば、wenquanyi_160_50.qpfは、16 dの大きさを表す漢字です.システムの中で他の名前の漢字がまだ表示されていたら、面倒くさいです.例えば、今のプロジェクトは漢字用の文泉駅の問題はないですが、ダイヤルアップ画面に入ると、表示されている番号がとても小さくて、不合理です.
           後はネットで探しましたが、ttf形式のフォントはいろいろなサイズに対応できます.windowsでよく使われている宋の字庫simfang.ttfを見つけて、/usr/lib/fontsに入れて、アプリケーションにQFont font(「simfang」60,QFont::Normal)を設定します.通常の画面には60番のフォントが表示されます.ダイヤル画面では、240番のフォントが表示されていますが、より快適です.
       開発ボードでAPPを実行していますが、いくつかのフォントとサイズがサポートされています.システムにはいろいろなサイズがあります.
===================================================================================================
ZZZ:http://hi.baidu.com/pufvxeemebbatzq/item/6b29f12fea8639d4a417b636
QT/Eは複数のサイズに対応しています.
QT/Eの中の書庫*.qpfは全部点陣で、スペースが大きいです.そして、一つの書庫は一つの書体しか表示できません.開発にとっては難しいです.ですから、できるだけ小さい空間を占用して、一つの書庫を使って、多種類の文字を表示したいです.
方法を紹介します.
QT/Eディレクトリ構造:
//qt
//qt/bin
//qt/lib
//qt/lib/fonts
//qt/examples
1.まずQT/Eをコンパイルする場合、QT/Eのライブラリファイルが必要です.  freetypeのサポートですので、オプション-no-freetypeを外して、おすすめのオプションは以下の通りです.
./configure-fast  -qt-gif-xplotform qws/linux-arm+-qt-style-windows-thread-pch-no-inpv 6-qt-libjpeg-qt-libmng-emng-embedded arm-litle-endian  -depths 4,8,16,24,32-qt-mouse-linuxtp-qt-mouse-bus-qt-kbd-キティ-qt-gfx-vga 16-shrease-v  -no-cups-no-nis
生産するライブラリファイルを  libqte-mt.so.3.38  開発ボードにコピーする /qt/lib/  目次の下
QT/Eのコンパイルについては他の記事をご覧ください.
2.windowsの下で一つの書体を選んで、*.ttf形式のものを選んで、宋を模仿することを例にします(simfang.ttf)
3.ファイルのsimfang.ttfを開発ボードの/qt/lib/fontsディレクトリに置いてください.
4.fontsディレクトリのfontdirファイルを修正し、次の行を追加します.(この時は残りを全部削除します.最初の行は空でないように注意してください.)
simfang simfang.ttf FT n 75 360ス
これでいいです.次のテストをします.
自分で小さいプログラムを書いて、中にはいろいろな店があります.開発ボードに置いて、運転して、効果を見てください.
私のは大丈夫です.問題があったらまた検討します.
==========sno:自分がtiny 4412 Qt画面での検証:
1、ファイルを/usr/local/Trolltech/QtEmbodd 4.7.0-arm/lib/fonts/以下に置きます.
simfang.ttf          wenquanyi130_50.qpf wenquanyi160_50.qpf               
unifont_160_50.qpf   wenquanyi130_75.qpf wenquanyi160_75.qpf               
wenquanyi120_50.qpf wenquanyi150_50.qpf x.tar.gz                          
wenquanyi120_75.qpf wenquanyi150_75.qpf 
2.Qtコードにはこう書きます.
int main(int argc, char *argv[])
{
    QApplication a(argc, argv);
 
  
    QTextCodec::setCodecForLocale(QTextCodec::codecForName("UTF-8"));
     QTextCodec::setCodecForTr(QTextCodec::codecForName("UTF-8"));        //  Tr  
     QTextCodec::setCodecForCStrings(QTextCodec::codecForName("UTF-8")); //         
 
  
     QFont font2("simfang",20,QFont::Normal);///<----   20   ,     12,---60     
        a.setFont(font2);
 
  
 
  
    Widget w;
    w.show();
    
    return a.exec();
}
3,qtで運行してもいいです.