欢迎访问宙启技术站
智能推送

使用getExistingDirectory()函数选择现有目录并进行特定处理

发布时间:2023-12-22 23:04:06

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()输出用户选择的目录。

运行上面的代码,会弹出一个文件对话框,让用户选择一个现有目录。当用户选择一个目录后,会在控制台输出选择的目录路径;如果用户取消了选择,则输出"取消选择"。