QT c++通过文件弹窗选取文件获取文件路径
时间: 2023-12-15 15:05:02 浏览: 72
您可以使用QT中的QFileDialog类来实现文件弹窗选取文件并获取文件路径,以下是示例代码:
```c++
QString fileName = QFileDialog::getOpenFileName(this, tr("Open File"), "", tr("Text Files (*.txt);;All Files (*)"));
if (fileName != "") {
// 文件路径不为空,可以进行操作
qDebug() << "Selected file path:" << fileName;
} else {
// 用户取消了选择文件
qDebug() << "User cancelled file selection.";
}
```
在上面的代码中,QFileDialog::getOpenFileName()函数用于弹出文件选择对话框,它需要四个参数:
- 父窗口指针:可以传入this或者NULL,表示选择对话框的父窗口为当前窗口或者无父窗口。
- 对话框标题:可以自定义,也可以使用Qt提供的翻译字符串。
- 默认打开的目录:可以传入空字符串,表示默认打开的目录为当前目录。
- 文件过滤器:可以使用分号分隔多个过滤器,每个过滤器包括过滤器名称和过滤器表达式,用括号括起来。例如:"Text Files (*.txt);;All Files (*)" 表示可以选择扩展名为txt的文本文件,或者所有类型的文件。
如果用户选择了文件并点击了“打开”按钮,QFileDialog::getOpenFileName()函数会返回该文件的路径,否则返回空字符串。在代码中判断返回的文件路径是否为空,如果不为空则输出文件路径,否则输出“用户取消了选择文件”。