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 个选择,第一个是最好的 :
QString path = QFileDialog::getExistingDirectory(this,tr("Choose a Folder"),QDir::homePath());
QUrl url = QFileDialog::getExistingDirectoryUrl(this,tr("Choose a Folder"),QUrl(QDir::homePath()));
QString path = url.toString();
我想让用户选择一个文件夹,这样我就可以在其他地方显示和排序它的内容。最好的方法似乎是使用 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 个选择,第一个是最好的 :
QString path = QFileDialog::getExistingDirectory(this,tr("Choose a Folder"),QDir::homePath());
QUrl url = QFileDialog::getExistingDirectoryUrl(this,tr("Choose a Folder"),QUrl(QDir::homePath()));
QString path = url.toString();