使用getExistingDirectory()函数选择现有目录并进行特定处理
getExistingDirectory()函数是Qt的一个函数,用于选择现有目录并返回目录的路径。它是QFileDialog的一个静态成员函数,可以在Qt程序中方便地使用。
函数原型如下:
QString QFileDialog::getExistingDirectory(QWidget *parent = nullptr, const QString &caption = QString(), const QString &directory = QString(), Options options = ShowDirsOnly)
参数说明:
- parent:指定父窗口,也就是显示对话框时的父窗口。
- caption:指定对话框的标题。
- directory:指定对话框打开的目录。
- options:设置对话框的选项,如只显示目录等。
函数返回一个QString类型的目录路径,如果用户取消了选择,则返回一个空的QString字符串。
下面是一个使用getExistingDirectory()函数的例子:
#include <QApplication>
#include <QFileDialog>
#include <QDebug>
int main(int argc, char *argv[])
{
QApplication a(argc, argv);
// 获取现有目录
QString dir = QFileDialog::getExistingDirectory(nullptr, "选择目录", "/");
if (!dir.isEmpty()) {
// 处理选择的目录
qDebug() << "选择的目录:" << dir;
} else {
qDebug() << "取消选择";
}
return a.exec();
}
上面的例子中,首先创建一个QApplication对象,并传入main函数的参数。然后使用QFileDialog::getExistingDirectory()函数选择现有目录。在该函数中,我们设置了父窗口为nullptr,对话框的标题为"选择目录",对话框打开的目录为根目录("/"),并设置了只显示目录。函数会根据用户选择的目录返回一个QString类型的目录路径。
在选择目录后,我们使用qDebug()输出用户选择的目录。
运行上面的代码,会弹出一个文件对话框,让用户选择一个现有目录。当用户选择一个目录后,会在控制台输出选择的目录路径;如果用户取消了选择,则输出"取消选择"。
