2017-11-23 83 views
1

QLabelのテキストを太字と標準の間のどこかに置いておきたいのですが、font-weightの設定が私の問題の答えになるはずです。 QtのドキュメントでQt:フォントの太さを変更する

、私は、フォントの太さを変更するには、どのように二つの選択肢があることを見出した:

  1. CPP側から経由:番号0-99

    を受け入れるQFont::setWeight()方法はhttp://doc.qt.io/qt-4.8/qfont.html#Weight-enum

  2. Qssスタイルから:font-weight属性(数値100,200、...、900を受け入れる)

    http://doc.qt.io/qt-4.8/stylesheet-reference.html#font-weight

私は両方の方法を試してみましたし、何も動いていないようにみえ。私はいつも普通の、または普通の大胆なスタイルしか得ておらず、その間には何も得ていません。

例:上記の例で

QLabel* test1 = new QLabel("Font-weight testing"); 
test1->show(); 

QLabel* test2 = new QLabel("Font-weight testing"); 
QFont font = test2->font(); 
font.setWeight(40); 
test2->setFont(font); 
test2->show(); 

QLabel* test3 = new QLabel("Font-weight testing"); 
test3->setStyleSheet("font-weight: 400"); 
test3->show(); 

、I 3枚のラベルを作成しています。 1つは追加設定なしで、1つはsetWeightメソッドでフォントウェイトを変更したもの、もう1つはQSスタイルでfont-weightを変更するものです。しかし、3人とも全く同じになるでしょう。

フォントを大きくしたり、アンチエイリアスを有効にしたり、別のフォントを使用しようとしましたが、何も助けてくれませんでした。

+0

あなたは中間の重量のフォントがインストールされていますか、あなたは魔法でそれらを生成するためのシステムを期待していますか? – stark

+0

私は本当にわからない –

答えて

0

利用機能、このようなsetWeightsetWeight(QFont::ExtraBold);

QFont font; 
font.setWeight(QFont::ExtraBold); // set font weight with enum QFont::Weight 
font.setPixelSize(25); // this for setting font size 
ui->label->setFont(font); 

無効QFont :: setWeight(int型の重量): は重量QFont::Weight列挙からの値である必要があります重量にフォントを設定します。

image

+0

DemiBoldとBoldが同じになるという問題があります。そのため、私はまだ私は私のPC上でそれをテスト中フォント –

+0

を取得できませんでした、それはこれらが接近していると、それは同じように見えるのです500' //、 'ノーマル= 50、// 400'と'ミディアム= 57、同じではありません。 – aghilpro

+0

@MartinCmar私の答えは、あなたが答えを受け入れるか、またはupvote、おかげで有用だった場合。 – aghilpro

0

QFont::setWeight方法は、その入力値がQFont::Weight列挙値のいずれかであることを期待します。

http://doc.qt.io/qt-5/qfont.html#setWeight

正しいバージョン:

QLabel* test2 = new QLabel("Font-weight testing"); 
QFont font = test2->font(); 
font.setWeight(QFont::Bold); 
test2->setFont(font); 

また、あなたはQSS版で2個のエラーを持っています。まず、ルールのセレクタを指定していません。第2に、400の値は「通常の」フォントに対応する。

https://developer.mozilla.org/en-US/docs/Web/CSS/font-weight

正しいバージョン:

QLabel* test3 = new QLabel("Font-weight testing"); 
test3->setStyleSheet("QLabel { font-weight: bold; }"); 
+0

太字のフォントに問題はありません。私は中重量フォントの結果を得ることができません。そして、 'font-weight:bold;'は 'QLabel'セレクターを使わなくても動作します –

関連する問題