Qtプログラムはttfフォントを持参した例を用いる


TTF概要
TTF(TrueTypeFont)はApple社とMicrosoft社が共同で発売したフォントファイルフォーマットで、20年以上windowsの流行に伴い、現在TTFは最もよく使われるフォントファイルの表現方式となっている.truetypeフォントの最大の利点は、フォントの輪郭を簡単に曲線に変換することができ、曲線を塗りつぶして様々な色と効果を作ることができ、さらに変形して特殊な効果フォントを作ることができるため、タイトル字や模様字を作るのによく使われています.デスクトップ出版システムで使用されるライブラリには、postscriptライブラリとtruetypeライブラリの2つの基準があります.どちらのフォント標準も曲線でフォントの輪郭を記述するため、高品質のフォントを出力することができます.truetypeフォントはpostscriptライブラリの表示ワードとしても用いられ、各ライブラリ会社にはこの2つの標準的な製品が同時に存在する.したがって、truetypeフォントを使用してレイアウトを作成する場合、出力時にpostscriptライブラリ出力に置き換えることができます.
Qt例
私は埋め込みLinuxプラットフォームでインタフェースプログラムを開発したので、中国語のフォントを表示する必要があるので、LiHeiProをダウンロードしました.ttfで使います.では、Qtでどのように操作すべきかを見てみましょう.(TTFライブラリパスは/home/root/seat_imx/LiHeiPro.ttf)コードは次のとおりです.
#include "gytboxwidget.h"
#include 
#include 
#include 
#include 

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

    QTextCodec::setCodecForLocale(QTextCodec::codecForName("UTF-8"));
    QTextCodec::setCodecForTr(QTextCodec::codecForName("UTF-8"));
    QTextCodec::setCodecForCStrings(QTextCodec::codecForName("UTF-8"));

    int index = QFontDatabase::addApplicationFont("/home/root/seat_imx/LiHeiPro.ttf");
    if(index != -1) {
        QStringList fontList(QFontDatabase::applicationFontFamilies(index));

        /* font -- LiHei Pro */
        if(fontList.count() > 0) {
            QFont font_zh(fontList.at(0));
            font_zh.setBold(false);
            a.setFont(font_zh);
        }
    }

    GytBoxWidget w;
    w.show();

    return a.exec();
}

その後、中国語を表示できます.例えば、
QLabel *label = new QLabel(this);
label->setText(tr("  "));