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

使用getExistingDirectory()函数获取现有目录的路径

发布时间:2023-12-22 23:02:40

getExistingDirectory()函数是Qt框架中的一个成员函数,用于获取现有目录的路径。

该函数的声明如下:

QString QFileDialog::getExistingDirectory(QWidget *parent = nullptr, const QString &caption = QString(), const QString &dir = QString(), QFileDialog::Options options = QFileDialog::ShowDirsOnly)

具体参数解释如下:

- parent:父窗口的指针,默认为nullptr。

- caption:对话框的标题,默认为空字符串。

- dir:对话框中显示的默认目录,默认为空字符串。

- options:对话框的选项,默认为QFileDialog::ShowDirsOnly,表示只显示目录。

使用该函数可以打开一个对话框,允许用户选择一个现有目录,并返回选择的目录路径。

以下是一个使用getExistingDirectory()函数的例子,展示了如何通过对话框选择现有目录并将路径显示在窗口标题中:

#include <QApplication>
#include <QFileDialog>
#include <QLabel>

int main(int argc, char *argv[])
{
    QApplication app(argc, argv);

    // 创建一个窗口和一个标签
    QWidget window;
    QLabel label(&window);

    // 弹出对话框选择目录
    QString dir = QFileDialog::getExistingDirectory(&window, "选择目录", "", QFileDialog::ShowDirsOnly);

    if (!dir.isEmpty()) {
        // 设置标签的文本为选择的目录路径
        label.setText(dir);
    }

    // 将标签设置为窗口的中央控件
    window.setCentralWidget(&label);
    // 将窗口标题设置为选择的目录路径
    window.setWindowTitle(dir);

    // 显示窗口
    window.show();

    // 运行应用程序
    return app.exec();
}

上述代码中,首先创建了一个窗口和一个标签。然后调用getExistingDirectory()函数弹出一个选择目录的对话框,用户选择目录后,将选择的路径设置为标签的文本,并将标签设置为窗口的中央控件,最后将窗口标题设置为选择的目录路径并显示窗口。

这样,当用户选择一个现有目录后,窗口标题和标签都会显示选择的目录路径。