2

次の方法でQMessageBoxを作成しました。

msgBox.setText("Are you sure?");
msgBox.setStandardButtons(QMessageBox::Yes| QMessageBox::No);
msgBox.setStyleSheet("background-image: url(image)");
msgBox.exec();

残念ながら、メッセージボックスでsetStyleSheetを使用すると、ボタン、テキストボックス、および実際のメッセージボックスの背景が設定されます。これは私が欲しいワットではありません。メッセージボックスの他のコンポーネントではなく、メッセージボックスだけに背景を持たせたい。私はそれを使用して知った:

msgBox.button(QMessageBox::Yes)->setStyleSheet(...)

ボタンだけに背景を設定するために使用できます。ボタンやテキストボックスに背景を追加せずに、msgBoxの背景だけを設定できるコマンドはありますか?

4

1 に答える 1

3

セレクターを使用して、スタイルが適用される要素を制限できます。QMessageBoxしたがって、スタイルをそれ自体にのみ適用し、その子には適用しない場合は、次を使用します。

msgBox.setStyleSheet("QMessageBox { background-image: url(image) }");

詳細については、「スタイルシートの構文-セレクターの種類」を参照してください。

于 2012-06-27T13:57:28.880 に答える