2015-07-13 23 views
1

我想在这段代码放在一个名称为我的按钮。它关于一个QMessageBox。获取命名我的按钮QMessage箱

if(QMessageBox::Ok == QMessageBox(
    QMessageBox::Question, 
    "Confirmar registro.", 
    "¿Desea confirmar guardar los datos?", 
    QMessageBox::Ok, 
    tr("Aceptar") | QMessageBox::Cancel , 
    tr("Cancelar")).exec() 
    ) 
+0

谷歌是你的朋友https://wiki.qt.io/Custom_QMessageBox_Buttons http://www.qtcentre.org/threads/28739-QMessageBox-Text-in-the-buttons – RedX

回答

1

自定义消息框上几乎直接从docs

QMessageBox msgBox; 
msgBox.setText("Confirmar registro."); 
msgBox.setInformativeText("¿Desea confirmar guardar los datos?"); 
QAbstractButton *acceptButton = msgBox.addButton("Aceptar", QMessageBox::YesRole); 
QAbstractButton *cancelButton = msgBox.addButton("Cancelar", QMessageBox::NoRole); 
msgBox.setIcon(QMessageBox::Question); 
msgBox.exec(); 
0

您可以自定义QAbstractButtonQMessageBox使用addButton()方法添加你。使用的

实施例:

QMessageBox msgBox; 
msgBox.setText(trUtf8("Confirmar registro.")); 
msgBox.setInformativeText("¿Desea confirmar guardar los datos?"); 
QAbstractButton *myYesButton = msgBox.addButton(trUtf8("Aceptar"), QMessageBox::AcceptRole); 
QAbstractButton *myNoButton = msgBox.addButton(trUtf8("Cancelar"), QMessageBox::NoRole); 
msgBox.setIcon(QMessageBox::Question); 
msgBox.exec(); 

if(msgBox.clickedButton() == myNoButton) 
{ 
    return; 
} 
2

QPushButton * QMessageBox::addButton(const QString & text, ButtonRole role)创建具有给定文本的按钮。