2017-09-27 12 views
1

私は自分のデスクトップQApplication(Qt 5.9)を使用して、スタイルシートを使ってスタイルを正しく設定しました。実行時には、すべてのQWidgetが意図どおりに正しくスタイルされています。
私が知る必要があるのは、特定のスタイル付きウィジェットの背景色です.QTooltipとしましょう。QStyleSheetを設定した後にQWidgetの背景色を取得する方法

私はのQWidget ::パレット方法が、私はQPaletteのために、システムのデフォルトの色のように見えたしまっを試してみました:: ColorRole私は尋ねました。
さらに、qt docsでは、スタイルシートを使用するときにこのメソッドを使用しないことをお勧めします。

もっと一般的には、スタイルシートを使って定義されたウィジェットプロパティをどのようにクエリできますか?

+0

Qtは、あなたのQSSに基づいてQProxyStyle' 'の特別なインスタンスを生成します。それを逆転する方法はありません。 –

答えて

0

スタイルシートの個々のプロパティに直接アクセスすることはできません。あなたができることは、スタイルシートを取得して、それを解析し、探しているプロパティを見つける必要があります(some_widget->styleSheet()QStringとして返します)。

パレットに直接アクセスしたい場合は、スタイルシートの代わりにその色を変更する必要があります。あなたは、パレットの代わりに、スタイルシートを使用してコードのスタイルを設定する方法

例コード:

QPalette px; 
px.setColor(QPalette::Text, QColor(255, 255, 255)); // Set text color to white 
px.setColor(QPalette::Base, QColor(0, 0, 0)); // Set background to black 
some_widget->setPalette(px); 
関連する問題