以下是实现步骤:
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")))
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)