如何设置目录分隔符以匹配操作系统?

esa*_*sac 2 qt qfiledialog

我正在编写一个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));
}
Run Code Online (Sandbox Code Playgroud)