2010-06-24 5 views
2

나는 3 개의 주요 운영체제에 이식 할 수 있도록 qt 애플리케이션을 작성 중이다.운영 체제와 일치하도록 디렉터리 구분 문자를 설정하는 방법은 무엇입니까?

QFileDialog를 사용하여 폴더를 선택한 다음 QListWidget에 추가하려고합니다. 그러나 폴더 이름은 Windows에 있어도 E :/media로 반환됩니다. 나는 그것이 E 반환 할 것입니다 : \ 미디어

나는 간단한 문자열 교체,하지만 리눅스/맥에는 \ 홈 \ 사용자 \ 문서를 가지고 이상한 보일 것를 사용할 수

내 코드 도움이된다면 :

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의 클래스도 리눅스 스타일의 문장으로 작동합니다. "예쁘게 인쇄 된"문자열을 원한다면 Jérôme의 대답을 취하십시오. :)

+0

OS 전용 경로 분리기로 경로를 분할하는 토크 나이저를 사용하면 매우 좋지 않을 것입니다. – UpAndAdam