使用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()函数弹出一个选择目录的对话框,用户选择目录后,将选择的路径设置为标签的文本,并将标签设置为窗口的中央控件,最后将窗口标题设置为选择的目录路径并显示窗口。
这样,当用户选择一个现有目录后,窗口标题和标签都会显示选择的目录路径。
