2010-06-24 3 views
2

Я пишу приложение qt с целью его переноса в 3 основные операционные системы.Как установить символ разделителя каталогов в соответствии с операционной системой?

Я использую QFileDialog, чтобы выбрать папку, а затем добавив ее в QListWidget. Однако имя папки возвращается как E:/media, хотя я нахожусь в Windows. Я хочу, чтобы вернуться E: \ СМИ

Я мог бы использовать простой строкой замены, но затем на Linux/Mac это будет выглядеть странно иметь \ главная \ 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)); 
} 

ответ

1

Если вы используете строку только внутри, вам не нужно преобразовывать косые черты в обратную косую черту. Классы Qt также работают с шаблонами в стиле Linux. Если вы хотите «довольно напечатанную» строку, ответьте Джерому. :)

+0

Не будет очень хорошо, если у вас есть токенизатор, чтобы разделить путь с OS-специфическим селектором пути – UpAndAdam

Смежные вопросы