0

Qt cssを使用してQStackedWidgetでQWidgetの背景色を変更するにはどうすればよいですか?

ProjectPage* p = new ProjectPage(this);
ui.stackedWidget->addWidget(p);

MyはQt デザイナーでProjectPageカスタムビルドされています。現在、デザイナーQWidgetの背景色を変更しようとしましたが、うまくいきませんでした。ProjectPage私のアプリケーションに表示されたときの背景の色は、css を使用してすべて設定したデフォルトの色であるため、失敗ですQWidget。唯一の例外は、私のすべてのラベルとボタンProjectPageの色が変更されたことです。

QstackedWidget現在、 css ドキュメントを見つけることができません。


注:背景画像は正常に機能します。これは、すべての QWidget にデフォルトの画像を設定したことに関連している可能性を探っています。

4

2 に答える 2

2
setStyleSheet ("YourQWidgetBasedPageClass#nameOfYourPageWidget {background: white;}");

そのカスタム ウィジェット クラスの をオーバーライドする場合は、実装のどこかでpaintEventデフォルトを呼び出すことを忘れないQWidget::paintEventでください。そうしないと、css が開始されません。

# 名前は、特定のウィジェットを選択する場合にのみ必要であることに注意してください。また、色は html スタイル名のいずれかにすることができます: 白、赤、紫など...、#XXXXXX スタイルの色、または RGB(...) を使用

于 2013-02-05T19:55:10.787 に答える
0

私の問題は、以下の css コードを使用したことが原因です。

QWidget {
    background-image: url(:/texture.png);
}

デフォルトのテクスチャを定義すると、設定したすべての背景色がこのテクスチャの背後に隠れます。

解決策は、デフォルトのテクスチャを削除するQWidgetか、必要な色の新しいテクスチャをロードすることです。

于 2013-02-05T21:31:42.390 に答える