QT对话框

目录

QDialog对话框

模态对话框

非模态对话框

系统标准对话框

消息对话框

标准文件对话框


QDialog对话框

没有最大化、最小化的窗口

模态对话框

模态对话框是指在对话框弹出时,用户不能与应用程序的其他部分进行交互

非模态对话框

非模态对话框与模态对话框相反,用户可以在对话框打开的同时继续与主窗口或其他窗口进行交互。

MainWindow::MainWindow(QWidget *parent)
    : QMainWindow(parent)
    , ui(new Ui::MainWindow)
{
    ui->setupUi(this);
   
    connect(ui->actionModal,&QAction::triggered,[=](){
        //创建模态对话框        
        QDialog dlg(this);
        dlg.exec();
    }
    );
    connect(ui->actionNonModal,&QAction::triggered,[=](){
        //创建非模态对话框
        QDialog *dlg = new QDialog(this);
        //设置窗口属性来让其关闭后自动释放
        dlg->setAttribute(Qt::WA_DeleteOnClose);
        dlg->show();
    }
    );
}

系统标准对话框

消息对话框

QMessageBox用来提示用户某条信息,分为以下几个级别
info
warning
critical
question
都箍行以通过 gessageBox::函数名的方式 来调用,产生模态的对话框
question 特殊,可以指定对话框的按钮,通过返回值来获取用户点击了哪个按钮

void MainWindow::on_actionCritical_triggered()
{
    QMessageBox::critical(this,"错误","criteical");
}


void MainWindow::on_actionWarning_triggered()
{
    QMessageBox::warning(this,"错误","warning");
}

void MainWindow::on_actionInfo_triggered()
{
    QMessageBox::information(this,"信息","information");
}


void MainWindow::on_actionQuestion_triggered()
{
    if(QMessageBox::Ok == QMessageBox::question(this,"问题","答案",QMessageBox::Ok|QMessageBox::Cancel)){
        qDebug()<<"点击了Ok!";
    }
    else {
        qDebug()<<"点击了Cancel!";
    }
}

标准文件对话框

QString QFileDialog::getOpenFileName(QWidget *parent = nullptr, const QString &caption = QString(), const QString &dir = QString(), const QString &filter = QString(), QString *selectedFilter = nullptr, Options options = Options())
  1. parent:父窗口指针,通常是当前窗口或者主窗口的指针。对话框将以此窗口为父窗口。

  2. caption:对话框标题,显示在对话框的标题栏上,用于指示对话框的目的或内容。

  3. dir:默认目录,指定对话框打开时显示的初始目录。如果为空,则使用系统默认的起始目录。

  4. filter:文件过滤器,用于限制用户选择的文件类型。例如,可以使用 "Text files (*.txt);;All files (*)" 的格式来限定用户只能选择文本文件。

  5. selectedFilter:可选参数,用于传递用户选择的过滤器的名称。

  6. options:可选参数,用于指定对话框的选项,例如 QFileDialog::ReadOnlyQFileDialog::DontUseNativeDialog 等。

 返回值是文件的路径

void MainWindow::on_actionQFileDialog_triggered()
{
    QFileDialog::getOpenFileName(this,"打开一个文件");
}

使用QFileDialog 来打开一个文件对话框

常用的函数是getopenFileName来选择单一某文件

可以指定默认路径

还可以指定文件过滤器,格式:类型名称(*.类型后..);;类型名称2..

通过返回值来获取用户选取了哪个文件

  • 19
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值