如何删除qmessage中自带的按钮

如何删除qmessage中自带的按钮,第1张

QMessage是一个强大的Qt C++库,用于创建自定义对话框、提示框和消息框等。要删除QMessage中自带的按钮,您可以使用QMessageBox类的setStandardButtons()函数来指定您想要显示的标准按钮,并将其设置为空值。

以下是实现步骤:

1. 创建一个QMessageBox对象

2. 使用setStandardButtons()函数设置空值来删除所有标准按钮。例如,如果您想删除Yes和No按钮,可以在以下方式使用该函数:msgBox->setStandardButtons(QMessageBox::NoButton)

3. 可以使用addButton()函数向消息框添加自定义按钮。例如,如果您想添加一个“取消”按钮,可以使用以下代码:msgBox->addButton(tr("Cancel"), QMessageBox::RejectRole)

4. 最后,使用exec()函数来显示消息框。

下面是完整的示例代码:

```

QMessageBox *msgBox = new QMessageBox(this)

msgBox->setIcon(QMessageBox::Warning)

msgBox->setText(tr("Are you sure you want to delete this item?"))

msgBox->setStandardButtons(QMessageBox::NoButton)

msgBox->addButton(tr("Delete"), QMessageBox::AcceptRole)

msgBox->addButton(tr("Cancel"), QMessageBox::RejectRole)

int ret = msgBox->exec()

```

通过上述步骤,您可以成功地删除QMessage中自带的按钮并添加自定义按钮。

兄弟,你这个问题我以前遇到过。虽然没有具体的对OK按钮定义 *** 作,但你其实可以自己定义。这样使用QMessageBox的时候就需要自己添加按钮,然后让他对应你自己dinghies的关闭音乐函数和退出函数。

QMessageBox msg

msg.setText(tr("是否要退出音乐播放?"))

QAbstractButton *confirmButton = msg.addButton(tr("OK"), QMessageBox::ActionRole)

QAbstractButton *cancelButton = msg.addButton(tr("CANCEL"), QMessageBox::ActionRole)

msg.exec()

if(msg.clickedButton() == confirmButton){

//这里写你的关闭音乐播放函数

//退出函数

}

else{

return

}

你看是这个意思不?

QAbstractButton * QMessageBox::button ( StandardButton which ) const

这个函数返回messagebox上面的按钮指针,例如:

QPushButton *okButton = (QPushButton*)messageBox->button(QMessageBox::Ok)

okButton->setShotCut(QKeySequence(tr("Ctrl+P")))


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/bake/11439798.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-16
下一篇 2023-05-16

发表评论

登录后才能评论

评论列表(0条)

保存