#include "custommessagebox.h" CustomMessageBox::CustomMessageBox(QWidget *parent) : QMessageBox(parent) {} bool CustomMessageBox::showConfirmDialog(const QString &title, const QString &text, const QString &yesButtonText, const QString &noButtonText, QWidget *parent) { QMessageBox msgBox(parent); msgBox.setWindowTitle(title); msgBox.setText(text); QPushButton *yesButton = msgBox.addButton(yesButtonText, QMessageBox::YesRole); QPushButton *noButton = msgBox.addButton(noButtonText, QMessageBox::NoRole); // 设置按钮样式 yesButton->setStyleSheet( "QPushButton { background-color:rgb(5, 58, 156); color: white; padding: 5px 15px; " "border-radius: 4px; }"); noButton->setStyleSheet( "QPushButton { background-color: #f44336; color: white; padding: 5px 15px; " "border-radius: 4px; }"); msgBox.exec(); // 返回true表示用户选择了确定/继续,false表示取消 return msgBox.clickedButton() == yesButton; } bool CustomMessageBox::showTimeoutDialog(const QString &title, const QString &text, const QString &continueButtonText, const QString &cancelButtonText, QWidget *parent) { return showConfirmDialog(title, text, continueButtonText, cancelButtonText, parent); } void CustomMessageBox::setupButtonStyles(QPushButton *yesButton, QPushButton *noButton) { yesButton->setStyleSheet( "QPushButton { background-color:rgb(5, 58, 156); color: white; padding: 5px 15px; " "border-radius: 4px; }"); noButton->setStyleSheet( "QPushButton { background-color: #f44336; color: white; padding: 5px 15px; " "border-radius: 4px; }"); }