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

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

本文关键字:function for call matching no QFileDialog c++ 中的      更新时间:2023-10-16

我想让用户选择一个文件夹,以便我可以在其他地方显示和对其内容进行整理。最好的方法似乎是使用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();
相关文章: