2016-06-14 1 views
0

QRadioButtonのテキストを太字にしたいが、qssを使ってチェックしないときは普通だ。チェックするとqssを使用してラジオボタンを太字に設定する方法は?

私はこれを試してみました:

.QRadioButton { 
    font-weight: normal; 
    background-color: #FFFFFF; 
} 

.QRadioButton:checked { 
    font-weight: bold; 
    background-color: #AA0000; 
} 

私はラジオボタンをチェックすると、それは背景の変更色ではなく、フォントです。 私は間違ったやり方をしていると誰にも分かりますか?

+0

ラジオボタンの状態を変更した後、 'polish' /' unpolish'を呼び出すようにしてください。デフォルトでは、フライでフォントスタイルを変更することは 'QToolButtons'のみでサポートされています(私が覚えているように) –

+0

' toggled'シグナルに接続されているスロット関数で 'polish' /' unpolish'を試しています。それはうまくいかなかった。最後に、私はフォントを 'bold' /' normal'と 'setProperty'をスロット関数で指定するためにプロパティを使います。出来た!私は**プロパティ**と**チェック**状態の違いは不思議です。 – KenLiang

答えて

0

スタイルシートプロパティの設定fontnormalおよびboldが役立ちます。

QRadioButton { 
    font: normal; 
    background-color: #FFFFFF; 
} 

QRadioButton:checked { 
    font: bold; 
    background-color: #AA0000; 
} 

ドキュメントdo sayfont-weightそれはしかし、動作するはずです。それがうまく動作しない場合は、Qt社のバグを報告することができます。複合fontを介してboldnormalを設定することも合法であり、多くの場合私の仕事です。

+0

'font'を試しましたが、うまくいきませんでした。 – KenLiang

+0

BTWはQRadioButtonの前にドットがありますか?私はwidget-> setStyleSheet( "SomeWindget {font:bold;}");を実行すると決してそれを行いません。 – AlexanderVX

+0

ドットは[クラスセレクタ](http://doc.qt.io/qt-5/stylesheet-syntax.html#selector-types)を意味します。 QRadioButtonのインスタンスに一致しますが、そのサブクラスは一致しません。ドットが指定されていない場合、QRadioButtonとそのサブクラスのインスタンスは一致します。どちらの方法でも結果には影響しません。ラジオボタンのフォントはチェックされたままです。 – KenLiang

関連する問題