QT QFileDialog文件对话框

简述

QFileDialog类提供一个对话框,允许用户选择文件或目录。 QFileDialog类允许用户遍历文件系统,选择一个或许多文件或一个目录

选择文件

实例

void slots_page4_SRCImg_Btn_Clicked()
{
	//定义文件对话框类
	QFileDialog *fileDialog = new QFileDialog(this);
	//定义文件对话框标题
	fileDialog->setWindowTitle(QStringLiteral("打开图片"));
	//设置默认文件路径
	fileDialog->setDirectory(".");
	//设置文件过滤器
	fileDialog->setNameFilter(tr("Images(*.png *.jpg *.jpeg *.bmp)"));

	//设置可以选择多个文件,默认为只能选择一个文件
	fileDialog->setFileMode(QFileDialog::ExistingFiles);

	//设置视图模式
	fileDialog->setViewMode(QFileDialog::Detail);

    QStringList m_fileNames;

	//所有选择的文件的路径
	if (fileDialog->exec())
	{
		m_fileNames = fileDialog->selectedFiles();
		//显示
		QString fileName = fileDialog->selectedFiles()[0];
		ui.page4_SRCImg_Edit->setText(fileName);
	}
}

这个实例描述了 通过一个按钮,打开对话框,选择多个图片,选择的图片路径在编辑框中显示。

文件过滤器

可以使用一中类型文件,也可以同时指定多个后缀模式,多个后缀模式形式如下,使用两个分号隔开:

"Images (*.png *.xpm *.jpg);;Text files (*.txt);;XML files (*.xml)"

文件模式

       Constant           Value      Description
QFileDialog::AnyFile        0     文件名,无论文件存在与否.
QFileDialog::ExistingFile   1     已经存在的文件名.
QFileDialog::Directory      2     目录的名称,文件和目录都被显示.
QFileDialog::ExistingFiles  3     个或多个存在的文件的名称.

视图模式

enum    ViewMode { Detail, List }

打开目录

实例

//导出配置文件
void on_configExportBtn_clicked()
{
    /***
    *参数1:父窗口
    *参数2:对话框的标题
    *参数3:默认的打开的位置,如“D:/”等
    *参数4:选项
    ***/
    QString dir;
    //定义对话框类
    QFileDialog *qFile = new QFileDialog(this);
    //设置对话框标题
    qFile->setWindowTitle(tr("ConfigExport"));
    //设置文件模式
    qFile->setFileMode(QFileDialog::DirectoryOnly);
    if(qFile->exec())
    {
        //显示路径
        dir = qFile->selectedFiles()[0];
        if(dir.isEmpty())
        {
            return;
        }
        QString fileName(tr("ColorConfig.xml"));
        fileName = dir + "/" + fileName;
        //配置导出标识
        IO_Config = Config_IO::Export_Config;
        emit configExport(fileName);
    }
}

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值