2017-08-19 12 views
0

Qt SDK 5.9.1からQtを学び、実行例を学んでいます。私は以下のコードを実行し、QTextEditの中に書きますが、テキストは表示されません。私が書くとカーソルは動きますが、テキストは表示されません。ウィンドウのタイトルテキストが表示されます。私はaddApplicationFontsetFontをWebからサンプルに見つけましたが、それは助けになりませんでした。QtextEditの目に見えないテキスト

#include <QtWidgets> 

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

    QFontDatabase::addApplicationFont("://Ubuntu-R.ttf"); 
    app.setFont(QFont("Ubuntu", 11, QFont::Normal, false)); 

    QTextEdit textEdit; 
    textEdit.show(); 

    return app.exec(); 
} 

私はUbuntuの16.04の午前と実行可能にするためにはbashで以下のコマンドを実行します。

qmake -makefile 
make 
./part1 

私はアプリは、デフォルトのUbuntuのシステムフォントを使用したいです。私はQtがfontconfigをフォントに使用していることを知ったが、問題の追跡方法はわからない。

編集

私は思っQFontDatabase::addApplicationFont("://Ubuntu-R.ttf")コール参照システムフォントではなく、それが参照しているフォントのアプリのリソースファイル。私はリソースファイルを持っていないので、明らかに動作しません。

QT += widgets 
SOURCES = main.cpp 

# install 
target.path = $$[QT_INSTALL_EXAMPLES]/widgets/tutorials/gettingStarted/gsQt/part1 
INSTALLS += target 

私はQFontDatabaseを使用してシステムフォントを取得しようとしましたが、それはうまくいきませんでした:

app.setFont(QFontDatabase::systemFont(QFontDatabase::GeneralFont)); 

これは何もしません

.PROファイルには、(無修正サンプルファイル)以下でありますQFontDatabase::GeneralFont

QFontDatabase database; 
QStringList fam = database.families(); 

fam SIZを含む列挙値のいずれかとeはゼロです。

次に、埋め込みフォントを使用しようとします。

答えて

1

私は問題の正確な理由はわかりませんが、理由はqtを構築する前にfontconfigの依存関係を正しく設定していないためです。 Qtを再構成して再コンパイルすることで解決しました。詳細はqt forumでご覧いただけます。

関連する問題