如何在Windows WinRT上设置QFileDialog的默认目录

时间:2016-12-05 08:58:24

标签: qt windows-runtime qfiledialog

我想打开一个带有特定默认目录的QFileDialog来选择文件。论证" url" QFileDialog :: getOpenFileUrl 似乎是为此而制作的,但我无法使其发挥作用。这就是我所做的:

QUrl url("file:///D:/");
QUrl path = QFileDialog::getOpenFileUrl(0, "Open File", url, tr("Database (*.db)"));

它不起作用,默认目录未设置。

我正在运行Windows 10,我使用msvc2015为WinRT平台编译。

编辑:似乎是一个错误,我填写了一张票:https://bugreports.qt.io/browse/QTBUG-57464

2 个答案:

答案 0 :(得分:0)

我认为直接使用路径字符串在本地文件方面更为传统,因为QUrl旨在处理各种URL。所以我建议改用getOpenFileName。

QString defaultPath ="D:/";
QString ret = QFileDialog::getOpenFileName(0, "Open File", defaultPath, tr("Database (*.db)"));

但如果你需要以某种方式使用QUrl,你可以像这样使用它。

QUrl url= QUrl::fromLocalFile("D:/");
QUrl path = QFileDialog::getOpenFileUrl(0, "Open File", url, tr("Database (*.db)"));

答案 1 :(得分:0)

目前这是不可能的,可能是由于Qt WinRT端口的错误。

请参阅:https://bugreports.qt.io/browse/QTBUG-57464

一旦修复了错误,t.m。的答案应该有效