ARTICLE DETAIL

资讯详情

深耕网站建设、视觉设计与SEO优化的一线实战洞察。

12.QT文件对话框 文件的弹窗选择-QFileDialog

12.QT文件对话框 文件的弹窗选择-QFileDialog

目录

前言:

技能:

内容:

1. 界面

2.信号槽

 3.其他函数

参考:


前言:

通过按钮实现文件弹窗选择以及关联的操作

效果图就和平时用电脑弹出的选文件对话框一样


技能:

 QString filename = QFileDialog::getOpenFileName(this, "弹窗标题",
                                                    "E://","Images(*.png *.jpg)");

弹出对话框选择文件

内容:

1. 界面

首先简单的添加ui布局,line edit 、PushButton、label

2.信号槽

ui编辑模式中,右键PushButton转到槽,选择clicked( ),

完成槽函数,记得#include<QFileDialog>

这里是可以选择png和jpg类型的图片,然后显示在下面的label中

void Widget::on_pushButton_clicked()
{QString filename = QFileDialog::getOpenFileName(this, "弹窗标题","E://","Images(*.png *.jpg)");ui->lineEdit->setText(filename);ui->label->setPixmap(filename);
}

至于图片更完美的展示,可以看之前的文章

3.QT图片完整显示(联机VS2022版) 

主要是getopenFileName函数,在Qt6中的帮助文档和例子是这样的

[static] 
QString QFileDialog::getOpenFileName(QWidget *parent = nullptr,const QString &caption = QString(), const QString &dir = QString(), const QString &filter = QString(), QString *selectedFilter = nullptr, QFileDialog::Options options = Options()) QString fileName = QFileDialog::getOpenFileName(this, tr("Open File"),"/home",tr("Images (*.png *.xpm *.jpg)"));

返回值是QString,也就是文件的路径,可以拿这个路径干很多事,比如显示图片

第一个参数,父指针,我们就用this就好,这个必须有

第二个参数,应该是对话框的标题,后面的依次是文件路径和筛选器

文件路径只是提供快捷通道,弹窗内我们依然能选择不是这个路径的文件

但是筛选器是固定的,我们只能看到被筛选后的文件,弹窗内无法选择其他类型的,我们也可以用空的引号,这样可以选择所有类型,如果罗列多个用*隔开,参考官方例子。但是又好像很宽松,格式不对也能正常选择,这里不是很懂,懂哥可以评论讲一下

QString filename = QFileDialog::getOpenFileName(this, "弹窗标题","E://","");
 3.其他函数

还有很多其他的函数可以查看帮助文档,比如可以选取多个文件

参考:

【Qt学习系列】12.Qt文件对话框

返回列表