QMessageBox的setStyleSheet不起作用
时间: 2023-10-29 15:18:00 浏览: 158
QMessageBox的setStyleSheet方法并不适用于修改对话框的样式。该方法主要用于设置对话框的按钮文本和图标等属性。要修改QMessageBox的样式,您可以使用QMessageBox的静态方法,例如information或question,然后使用样式表来自定义对话框的外观。
一个示例代码如下:
```cpp
QMessageBox msgBox;
msgBox.setIcon(QMessageBox::Question);
msgBox.setText("确定要执行此操作吗?");
msgBox.setStandardButtons(QMessageBox::Yes | QMessageBox::No);
msgBox.setStyleSheet("QMessageBox{background-color: yellow;}");
int ret = msgBox.exec();
if (ret == QMessageBox::Yes) {
// 确认操作
} else if (ret == QMessageBox::No) {
// 取消操作
}
```
在这个例子中,我们使用了setStyleSheet方法来设置QMessageBox的样式为黄色背景。您可以根据需要自定义其他的样式。请注意,setStyleSheet方法必须在exec方法之前调用,否则样式将不会生效。
希望这个解答对您有帮助! <span class="em">1</span><span class="em">2</span><span class="em">3</span>
#### 引用[.reference_title]
- *1* *2* *3* [QT学习笔记-QMessageBox](https://blog.csdn.net/sdljlcming/article/details/8185387)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 100%"]
[ .reference_list ]
阅读全文