【问题标题】:Can not set Stylesheet for buttons in QMessageBox无法为 QMessageBox 中的按钮设置样式表
【发布时间】:2017-05-11 10:33:17
【问题描述】:

我不知道 setStyleSheet 哪里错了,但结果不是我想要的。大家能告诉我问题出在哪里吗?

if (!closedialog) {
        closedialog = new QMessageBox(this);
}
closedialog->setWindowModality(Qt::WindowModal);
closedialog->setWindowTitle("Hello");
closedialog->setText("This is an example message.");
closedialog->setStandardButtons(QMessageBox::Yes | QMessageBox::No);
closedialog->button(QMessageBox::Yes)->setStyleSheet("QPushButton{border-image: url(:/dptv/graphics/PTV_Button_yes.png);}"
    "QPushButton:hover{border-image: url(:/dptv/graphics/PTV_Button_yes_mouseover.png);}");
closedialog->setButtonText(QMessageBox::Yes, "");
closedialog->setButtonText(QMessageBox::No, "");
int click = closedialog->exec();
if (click == QMessageBox::Yes) {

}

【问题讨论】:

    标签: qt stylesheet qpushbutton qmessagebox


    【解决方案1】:

    好的,我发现了问题

    closedialog->button(QMessageBox::Yes)->setObjectName("Yes");
    setStyleSheet("QPushButton#Yes{border-image: url(:/dptv/graphics/PTV_Button_yes.png);}"
    "QPushButton#Yes:hover{border-image: url(:/dptv/graphics/PTV_Button_yes_mouseover.png);}");
    

    我忘记将图片添加到 .qrc 中

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2023-03-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-03-21
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多