Qt中QMessageBox中的几种常见用法归纳

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文档,随着学习的深入本人也会持续更新中。

猜你喜欢

转载自blog.csdn.net/zjx1230/article/details/83715421