Qt 标准对话框

Posted hjxzjp

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Qt 标准对话框相关的知识,希望对你有一定的参考价值。

Qt提供了一些可以复用的对话框类型,这些对话框类型全部继承与QDialo类。

  技术图片

 

 

 Qt中标准对话框遵循相同的使用方法:

  //定义对话框对象

  DialogType dlg(this);

  //设置对话框属性

  dlg.setPrpertyXXX(value);

  if(dlg.exec() == DialogType::value)

  {

  //获取对话框数据

  Type V = dlg.getDialogValue();

  //处理对话框数据

  //....

  }

Qt消息对话框:QMessageBox

  QMessageBox 中的实用函数。

 

 

  

void    about ( QWidget * parent, const QString & title, const QString & text )
void    aboutQt ( QWidget * parent, const QString & title = QString() )
StandardButton    critical ( QWidget * parent, const QString & title, const QString & text, StandardButtons buttons = Ok, StandardButton defaultButton = NoButton )
StandardButton    information ( QWidget * parent, const QString & title, const QString & text, StandardButtons buttons = Ok, StandardButton defaultButton = NoButton )
StandardButton    question ( QWidget * parent, const QString & title, const QString & text, StandardButtons buttons = Ok, StandardButton defaultButton = NoButton )
StandardButton    warning ( QWidget * parent, const QString & title, const QString & text, StandardButtons buttons = Ok, StandardButton defaultButton = NoButton )

 

  测试代码:  

    QMessageBox Mes(this);

    /*消息提示对话框*/
//    if( Mes.information(this,"MessageBox","this is MessageBox!",QMessageBox::Ok,QMessageBox::Cancel,QMessageBox::YesAll)
//            == QMessageBox::Ok)
//    {
//        qDebug()<<"QMessageBox::Ok";
//    }
    /*警告提示对话框*/
//    if( Mes.warning(this,"MessageBox","this is MessageBox!",QMessageBox::Ok,QMessageBox::Cancel,QMessageBox::YesAll)
//            == QMessageBox::Ok)
//    {
//        qDebug()<<"QMessageBox::Ok";
//    }
    /*问题提示对话框*/
//    if( Mes.question(this,"MessageBox","this is MessageBox!",QMessageBox::Ok,QMessageBox::Cancel,QMessageBox::YesAll)
//            == QMessageBox::Ok)
//    {
//        qDebug()<<"QMessageBox::Ok";
//    }

    /*关键提示对话框*/
//    if( Mes.critical(this,"MessageBox","this is MessageBox!",QMessageBox::Ok,QMessageBox::Cancel,QMessageBox::YesAll)
//            == QMessageBox::Ok)
//    {
//        qDebug()<<"QMessageBox::Ok";
//    }
   Mes.about(this,"MessageBox","this is MessageBox!");

//    Mes.setWindowTitle("MessageBox");//设置标题
//    Mes.setText("this is MessageBox~");//设置提示内容
//    Mes.setIcon(QMessageBox::Warning);
//    Mes.setStandardButtons(QMessageBox::Ok|QMessageBox::Cancel|QMessageBox::YesAll);
//    if(Mes.exec() == QMessageBox::Ok)
//    {
//        qDebug()<<"QMessageBox::Ok";
//    }
    qDebug()<<"Messege_BtnClicked";

 

Qt文件对话框:QFileDialog

  Open Mode

    ——应用程序需要用户打开一个外部文件

  

 QFileDialog fl;
    fl.setAcceptMode(QFileDialog::AcceptOpen);//设置为Open模式
    QStringList setFs ;
    setFs <<"Text(*.txt)"<<"All(*.*)";


    fl.setFilters(setFs);

    /*QFileDialog::ExistingFile 打开单个
      QFileDialog::ExistingFiles 打开多个文件
    */
    fl.setFileMode(QFileDialog::ExistingFile);
    if(fl.exec() == QFileDialog::Accepted)
    {
        QStringList fs = fl.selectedFiles();//获取文件路径 文件名
        for(int i=0;i<fs.count();i++)
        {
            qDebug()<<fs[i];
        }
    }
    qDebug()<<"FileDialog_BtnClicked";

 

  Save Mode

    ——应用程序需要将当前内容存储到用户指定的目录中去

以上是关于Qt 标准对话框的主要内容,如果未能解决你的问题,请参考以下文章

Qt中的标准对话框之QMessageBox

Qt 标准对话框

Qt标准对话框

如何修改Qt标准对话框的文字

Qt中的标准对话框

Qt标准对话框记录