2013-05-12 3 views
0

Я хотел бы использовать QFileDialog, чтобы получить имя нового каталога, где я создам несколько файлов конфигурации.QFileDialog - создавать файлы без расширения

Будет хорошо, если имя каталога не будет содержать часть расширения. Как я могу заставить пользователя не предоставлять QFileDialog с именем filename.extension?

Я пытался использовать следующий код:

QString fileName = 
    QFileDialog::getSaveFileName(this, tr("create a directory), 
           QDir::homePath(), tr("Directories (*)")); 

Но, очевидно, это позволяет пользователю ввести любое имя файла с или без расширения. Любые другие идеи?

ответ

1

Вы можете использовать QFileDialog::GetExistingDirectory

QString dir = QFileDialog::getExistingDirectory(this, tr("Open Directory"), QDir::homePath(), 
               QFileDialog::ShowDirsOnly | QFileDialog::DontResolveSymlinks); 

См QFileDialog Documentation.

+0

Я попытался подчеркнуть, что это будет «новый» каталог. Пользователь должен указать имя и система создаст каталог с его содержимым. – Dejwi

+0

Не думайте, что это возможно. Пользователь должен иметь возможность создать каталог с этим диалогом. Почему вы пытаетесь заставить пользователя создать новый каталог? – mwerschy

+0

Причина для пользователя должна быть прозрачной. Он просто создает новый файл (в определенном конкретном приложении). Но на самом деле мне будет намного проще хранить его в нескольких файлах в одном каталоге. – Dejwi