C++ 中的 QFileDialog:"no matching function for call"

QFileDialog in c++: "no matching function for call"

我想让用户选择一个文件夹,这样我就可以在其他地方显示和排序它的内容。最好的方法似乎是使用 QFileDialog。这是我正在使用的代码片段:

> #include <QFileDialog>
.....
void someEvent(){
QString path = QFileDialog::getExistingDirectoryUrl(this, tr("Choose a Folder"), QDir::home());
}

当我尝试编译时出现错误:
没有匹配函数来调用 QFileDialog::getExistingDirectoryUrl(MainWindow*, QString, QDir) path = QFileDialog::getExistingDirectoryUrl(this, tr("Choose a Folder"), QDir::home());

注意:我在这台 PC 上 运行 Fedora 25,我想知道这是否是问题所在?

根据您的需要,您有 2 个选择,第一个是最好的 :

getExistingDirectory :

QString path = QFileDialog::getExistingDirectory(this,tr("Choose a Folder"),QDir::homePath());

getExistingDirectoryUrl :

QUrl url = QFileDialog::getExistingDirectoryUrl(this,tr("Choose a Folder"),QUrl(QDir::homePath()));
QString path = url.toString();