Qt中QMessageBox中的几种常见用法归纳
最简单的弹出一个提示框
-
QMessageBox::question(this,"Title","Content");
-
QMessageBox::warning(this,"Title","Content");
-
QMessageBox::information(this,"Title","Content");
-
QMessageBox::about(this,"Title","Content");
简单的自定义按钮文字
QMessageBox::warning(this,"Search String","Please enter a search string",QObject::tr("确定"));
判断点击了框中的哪个按钮
if(QMessageBox::question(this,"Title","Content",
QMessageBox::Yes |
QMessageBox::No,
QMessageBox::Yes)==
QMessageBox::Yes)
{
QMessageBox::information(this,"INFO","Yes clicked");
}
else
{
QMessageBox::warning(this,"Warn","No clicked");
}
QMessageBox mess(QMessageBox::Warning, tr("Search String"), tr("String '%1' not found \nSearch same text again?"
).arg(ui->search_lineEdit->text()), NULL);
QPushButton *ok_Bt = mess.addButton(tr("是(Y)"), QMessageBox::AcceptRole);
QPushButton *cancel_Bt = mess.addButton(tr("否(N)"),QMessageBox::RejectRole);
mess.exec();
if ((QPushButton*)mess.clickedButton() == ok_Bt)
{
ui->search_lineEdit->setFocus();
ui->search_lineEdit->setSelection(0,ui->search_lineEdit->text().length());
ui->start_occurence->clear();
ui->end_occurence->clear();
}
else if((QPushButton*)mess.clickedButton() == cancel_Bt)
{
ui->display_lineEdit->setFocus();
ui->search_lineEdit->clear();
ui->display_lineEdit->clear();
ui->show_textEdit->clear();
ui->start_occurence->clear();
ui->end_occurence->clear();
}
int r = QMessageBox::warning(this,"Search String","please enter values between 1 and 7",
QObject::tr("确认"));
if(r == QObject::tr("确认").toInt()){
ui->display_lineEdit->setFocus();
ui->display_lineEdit->setSelection(0,ui->display_lineEdit->text().length());
}
更多详情可参考Qt文档,随着学习的深入本人也会持续更新中。