提问者:小点点

设置QFileDialog的默认UNC路径


我希望使用特定路径打开QFileDialog,例如://machine/C$/users/。 我实现了以下功能,但它不工作。

void DownloadFM::on_pushButtonSource_clicked()
{
    QFileDialog o_dialogSource;
    o_dialogSource.setDirectory(absolutePath);
    QString fileName = QFileDialog::getOpenFileName(this, "Choose File");

    if(fileName.isEmpty())
        return;

    ui->lineEditSource->setText(fileName);
}

共2个答案

匿名用户

例如,如果要在桌面位置打开对话框,请执行以下操作:

    QString fileName = QFileDialog::getOpenFileName(this, "Choose File",QStandardPaths::writableLocation(QStandardPaths::DesktopLocation));

请注意,您必须#include

匿名用户

此代码

QFileDialog o_dialogSource;
o_dialogSource.setDirectory(absolutePath);

还有这个

QString fileName = QFileDialog::getOpenFileName(this, "Choose File");

是完全独立的。 前者创建一个本地对话框对象,在其中设置路径,并。。。 从不显示对话框。 后者创建了另一个对话框--该对话框确实出现在屏幕上--将第三个参数的默认值传递为const QString&dir=QString()(请参阅此函数文档),从而不设置您想要的路径。

正确的方法是删除无用的O_DialogSource行,然后向GetOpenFileName调用添加必要的参数:

QString fileName = QFileDialog::getOpenFileName(this, "Choose File", absolutePath);