要设置QMessageBox的背景颜色为默认颜色,可以使用QPalette来设置。

QMessageBox::StandardButton reply;
QMessageBox msgBox;
msgBox.setWindowTitle("提示");
msgBox.setText("确认退出智能管家系统?");
msgBox.setStandardButtons(QMessageBox::Yes | QMessageBox::No);
msgBox.setDefaultButton(QMessageBox::No);

QPalette palette = msgBox.palette();
palette.setColor(QPalette::Window, QColor(Qt::white)); // 设置背景颜色为默认颜色
msgBox.setPalette(palette);

reply = msgBox.exec();
if (reply == QMessageBox::Yes) {
    e->accept();
} else {
    e->ignore();
}

要设置按键样式,可以使用QSS(Qt Style Sheets)来设置。

QMessageBox::StandardButton reply;
QMessageBox msgBox;
msgBox.setWindowTitle("提示");
msgBox.setText("确认退出智能管家系统?");
msgBox.setStandardButtons(QMessageBox::Yes | QMessageBox::No);
msgBox.setDefaultButton(QMessageBox::No);

QString styleSheet = "QPushButton {"
                     "    background-color: #f0f0f0;"
                     "    border: 1px solid #dcdcdc;"
                     "    padding: 5px;"
                     "}"
                     "QPushButton:hover {"
                     "    background-color: #e0e0e0;"
                     "}"
                     "QPushButton:pressed {"
                     "    background-color: #d0d0d0;"
                     "}";
msgBox.setStyleSheet(styleSheet);

reply = msgBox.exec();
if (reply == QMessageBox::Yes) {
    e->accept();
} else {
    e->ignore();
}

以上代码将QMessageBox的背景颜色设置为默认颜色,并且设置了按键的样式。

ife-spontaneous 窗口关闭时弹出的提示窗口 QMessageBoxStandardButton reply; reply = QMessageBoxinformationthis提示确认退出智能管家系统?QMessageBoxYesQMessageBoxNo; ifreply == QMessageBoxYes

原文地址: https://www.cveoy.top/t/topic/ixTu 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录