2

我正在编写一个 qt 应用程序,目标是可移植到 3 个主要操作系统。

我正在使用 QFileDialog 选择一个文件夹,然后将其添加到 QListWidget。但是,即使我在 Windows 上,文件夹名称也会以 E:/media 的形式返回。我希望它返回 E:\media

我可以使用一个简单的字符串替换,但是在 Linux/Mac 上,有 \home\user\Documents 看起来很奇怪

如果有帮助,我的代码:

void LibrariesForm::on_addButton_clicked()
{
    QString dir = QFileDialog::getExistingDirectory(this, tr("Select Folder"), "/", QFileDialog::ShowDirsOnly);

    if (dir.isNull() == true)
    {
        return;
    }

    ui->librariesList->addItem(new QListWidgetItem(dir, ui->librariesList, 0));
}
4

2 回答 2

12

我猜你正在寻找QDir::toNativeSeparators()

于 2010-06-24T06:41:32.617 回答
1

如果仅在内部使用字符串,则不需要将斜杠转换为反斜杠。Qt 的类也适用于 linux 风格的路径。如果您想要一个“漂亮打印”的字符串,请接受 Jérôme 的回答。:)

于 2010-06-24T08:20:41.747 回答