QTの色を変更できませんQcheckbox
。チェック ボックスのテキスト ラベルの色を変更するコードを教えてください。私は試しました..そしてQT4.7.4バージョンを使用しています..Qpalette
4 に答える
スタイルシートを使用できます。
例えば:
checkBox->setStyleSheet("QCheckBox { color: red }");
詳細については、Qtリファレンスのスタイルシートとスタイルシートのドキュメントを確認してください。
これは私のために働く:
QPalette p = myCheckBox->palette();
p.setColor(QPalette::Active, QPalette::WindowText, green);
myCheckBox->setPalette(p);
一部のウィジェットでは、システム以外の「widget-engine」を強制的に使用する必要があるようです。チェックボックスの場合は、境界線をなしに設定することで実行できます。したがって、チェックボックスのスタイルは次のようになります。
QCheckBox {
border: none;
color: white;
}
他のウィジェットでも同様の動作が必要です。一部のスタイル プロパティはネイティブ ルックを無効にしません。たとえば、QPushButton ( http://doc.qt.io/qt-4.8/stylesheet-reference.html )
さまざまなバージョンの Qt5 (5.2、5.4) を使用してこの問題に遭遇しました。スタイルシートでそれを行うには、Pseudo-States プロパティを使用する必要がありました: http://doc.qt.io/qt-4.8/stylesheet-reference.html#list-of-pseudo-states
例:
myCheckbox->setStyleSheet("QCheckBox:unchecked{ color: red; }QCheckBox:checked{ color: red; }");
両方の状態を設定すると、色が変わりました。スタイルシートとパレット システムには、このような奇妙な点がいくつかあるようです。それらに注意して、いくつかの異なること (つまり、セレクター、疑似状態など) を試してください。