6

QTの色を変更できませんQcheckbox。チェック ボックスのテキスト ラベルの色を変更するコードを教えてください。私は試しました..そしてQT4.7.4バージョンを使用しています..Qpalette

4

4 に答える 4

8

スタイルシートを使用できます。

例えば:

checkBox->setStyleSheet("QCheckBox { color: red }");

詳細については、Qtリファレンスのスタイルシートとスタイルシートのドキュメントを確認してください。

于 2012-06-22T11:17:31.143 に答える
5

これは私のために働く:

QPalette p = myCheckBox->palette();
p.setColor(QPalette::Active, QPalette::WindowText, green);
myCheckBox->setPalette(p);
于 2012-06-22T16:41:22.977 に答える
1

一部のウィジェットでは、システム以外の「widget-engine」を強制的に使用する必要があるようです。チェックボックスの場合は、境界線をなしに設定することで実行できます。したがって、チェックボックスのスタイルは次のようになります。

QCheckBox {
   border: none;
   color: white;
}

他のウィジェットでも同様の動作が必要です。一部のスタイル プロパティはネイティブ ルックを無効にしません。たとえば、QPushButton ( http://doc.qt.io/qt-4.8/stylesheet-reference.html )

于 2016-05-23T14:41:34.053 に答える
1

さまざまなバージョンの 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; }");

両方の状態を設定すると、色が変わりました。スタイルシートとパレット システムには、このような奇妙な点がいくつかあるようです。それらに注意して、いくつかの異なること (つまり、セレクター、疑似状態など) を試してください。

于 2016-02-18T16:34:20.200 に答える