发现点QT 3 ——QFileDialog

QString strPath("");
QStringList slFiles;
QString strFiler = QString("%1 (*.dat)").arg("External program");//文件过滤器,过滤文件的类型

QFileDialog* pfiledlg = new QFileDialog(this);
pfiledlg->setWindowTitle("Select the import file");//选择导入的文件
pfiledlg->setFileMode(QFileDialog::ExistingFile);
pfiledlg->setAcceptMode(QFileDialog::AcceptOpen);//导入一个文件,AcceptSave
pfiledlg->setViewMode(QFileDialog::List);
pfiledlg->setDefaultSuffix("dat");//如果没有其它指定的后缀那么这个后缀就加到文件名后
pfiledlg->setFilter(Dir::Files);
pfiledlg->setNameFilter(steFilter);//设置过滤器,过滤文件类型
pfiledlg->setOptions(QFileDialog::ReadOnly | QFileDialog::DontUseNativeDialog);

if(pfiledlg->exec() != QDialog::Accepted)
{
    delete pfiledlg;
    return strPath;
}
slFiles.clear();
slFiles = pfiledlg->selectedFiles();
/*
Return a list of strings containing the absolute paths of the selected files in the dialog. If no files are selected, or the mode is not ExistingFiles or ExistingFile, selectedFiles() contains the current path in the viewport.
ExsitingFile:The name of single existing file.
ExsitingFiles:The name of zero or more existing files.
*/
delete pfiledlg;

以上代码就是使用QFileDialog类,写一个文件选择对话框。最后就是返回你选择文件的路径。

如果想导入一个文件夹的路径,就设置pfiledlg->setFileMode(QFileDialog::Directory);,此时文件过滤器就不需要再设置了。

  • 9
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
Qt6对话框QFileDialog是用于在Qt6应用程序中打开和保存文件的对话框。根据引用[1]和引用的内容,我们可以使用以下两种方式来实现对话框的使用: 方式一:使用静态函数QFileDialog::getOpenFileName() 可以通过以下代码示例使用静态函数QFileDialog::getOpenFileName()来实现: ```cpp QString fileName = QFileDialog::getOpenFileName(this, tr("文件打开对话框"), "D:", tr("图片文件(*png *jpg)")); ``` 在这个示例中,我们通过调用静态函数QFileDialog::getOpenFileName()来实现文件的打开对话框。通过传递窗口的指针、对话框的标题、默认目录和文件过滤器等参数,我们可以获取用户选择的文件名。 方式二:创建QFileDialog对象来实现 可以通过以下代码示例创建QFileDialog对象来实现: ```cpp QFileDialog *filedialog = new QFileDialog(this);//创建文件对话框对象,父对象为this filedialog->setWindowTitle("Save");//设置对话框标题 filedialog->setAcceptMode(QFileDialog::AcceptSave);//设置对话框为保存模式 filedialog->setFileMode(QFileDialog::AnyFile);//设置文件对话框的模式 filedialog->setViewMode(QFileDialog::Detail);//设置文件视图模式为详细模式 filedialog->selectFile("data.txt");//设置初始选中的文件为“data.txt” filedialog->setFilter("*.csv;;*txt;;*.*");//设置文件过滤器 filedialog->selectNameFilter("*.csv");//设置初始选择的文件类型 if (filedialog->exec() == QFileDialog::AcceptSave) { QString path = filedialog->selectedFiles()[0]; QFile file(path); if (file.open(QIODevice::WriteOnly | QIODevice::Text)) { QString filePathToRead = "test.txt";//已存在的文件test.txt QFile readFile(filePathToRead); if (readFile.open(QIODevice::ReadOnly | QIODevice::Text)) { QTextStream in(&readFile); QTextStream out(&file); out << in.readAll(); readFile.close(); file.close(); } } } ``` 在这个示例中,我们通过创建QFileDialog对象,设置对话框的标题、模式、视图模式、初始选中的文件、文件过滤器等属性来实现文件的保存对话框。然后,通过调用exec()函数来显示对话框,并根据用户的选择进行相应的操作。 以上是两种实现Qt6对话框QFileDialog的方式,你可以根据需要选择其中一种方式来在Qt6应用程序中使用QFileDialog

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值