Qt 如何设置Qmessagebox的某个元素的样式表

Qt 如何设置Qmessagebox的某个元素的样式表,qt,stylesheet,messagebox,Qt,Stylesheet,Messagebox,我用以下方式制作了一个QMessageBox: msgBox.setText("Are you sure?"); msgBox.setStandardButtons(QMessageBox::Yes| QMessageBox::No); msgBox.setStyleSheet("background-image: url(image)"); msgBox.exec(); 不幸的是,在messagebox上使用setStyleSheet设置按钮、文本框和实际msgbox的背景。这不是我想要的。

我用以下方式制作了一个QMessageBox:

msgBox.setText("Are you sure?");
msgBox.setStandardButtons(QMessageBox::Yes| QMessageBox::No);
msgBox.setStyleSheet("background-image: url(image)");
msgBox.exec();
不幸的是,在messagebox上使用setStyleSheet设置按钮、文本框和实际msgbox的背景。这不是我想要的。我只希望msgbox具有背景,而不希望messagebox的其他组件具有背景。我发现使用:

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

可用于仅在按钮上设置背景。是否有一个命令,我可以使用它只设置msgBox的背景,而不向按钮和文本框添加背景?

您可以使用选择器限制样式将应用于哪些元素。因此,要仅将样式应用于
QMessageBox
本身而不是其子项,您可以使用:

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

有关更多详细信息,请参见。

在您的案例中,答案实际上是:如果其他所有操作都失败,请像阅读书籍一样阅读文档。我发现,至少在Qt的情况下,在人生的某个时刻,没有什么可以替代仅仅通读它。除非你真的读过,否则你会一直错过这样的东西。一页一页。使用web浏览器和书签/历史记录来记录您所阅读的内容。