Russian Qt Forum

Qt => Пользовательский интерфейс (GUI) => Тема начата: nixman05 от Июнь 02, 2009, 18:14



Название: различное поведение QFileDialog::getSaveFileName()
Отправлено: nixman05 от Июнь 02, 2009, 18:14
Делаю различными способами вызов QFileDialog::getSaveFileName
Код:
QString s=QFileDialog::getSaveFileName(0,tr("Сохранить данные"),QString(),
                                          tr("Файл данных (*.dat)") );


Код:
QString s=QFileDialog::getSaveFileName(0,tr("Сохранить данные"),QString(),
                                          tr("Файл данных (*.dat)"),0, 0);

Код:
QString s=QFileDialog::getSaveFileName(0,tr("Сохранить данные"),QString(),
                                          tr("Файл данных (*.dat)"),0,  QFileDialog::DontUseNativeDialog);

В первых двух случаях s присваивается имя файла с расширением. А во третьем расширение отсутствует. Как реализовать возвращение имени файла с расширением при использовании QFileDialog::DontUseNativeDialog?


Название: Re: различное поведение QFileDialog::getSaveFileName()
Отправлено: lit-uriy от Июнь 02, 2009, 20:44
посмотри пример
%QTDIR%\examples\dialogs\standarddialogs
там с расширением получается


Название: Re: различное поведение QFileDialog::getSaveFileName()
Отправлено: nixman05 от Июнь 02, 2009, 21:02
посмотри пример
%QTDIR%\examples\dialogs\standarddialogs
там с расширением получается

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

P.S. Qt 4.5. Тестируется на WinXP SP3. На других платформах еще не смотрел.


Название: Re: различное поведение QFileDialog::getSaveFileName()
Отправлено: lit-uriy от Июнь 02, 2009, 21:44
У меня всё путём
Родной (http://lit-uriy.narod.ru/temp/native443.png)
Не родной (http://lit-uriy.narod.ru/temp/non-native443.png)

Win2k SP4, Qt 4.4.3 и Qt 4.5.x (вчера из Git'а)


Название: Re: различное поведение QFileDialog::getSaveFileName()
Отправлено: spectre71 от Июнь 02, 2009, 22:42
У меня всё путём

У меня тоже не работает.
У тебя видимо имя файла при вызове во 2 случае было с расширением (сохранилось после 1 запуска).
Проверь!


Название: Re: различное поведение QFileDialog::getSaveFileName()
Отправлено: lit-uriy от Июнь 02, 2009, 23:03
попробовал покаждому поводу перезапускать приложение.
Результат: всегда с расширением.

Проверил версии:
4.4.3
4.5.0
4.5.1
4.5.снимок (от 02.06.2009)


Название: Re: различное поведение QFileDialog::getSaveFileName()
Отправлено: lit-uriy от Июнь 02, 2009, 23:11
П.С. пробовал и отладочную версию и релизную, кроме "Снимка" в нём только отладочную (т.к. Qt ещё и в релизной версии собирать регулярно лень)


Название: Re: различное поведение QFileDialog::getSaveFileName()
Отправлено: spectre71 от Июнь 03, 2009, 07:56
Я пробовал и в QT Demo и в своем тесте, результат один.
с QFileDialog::DontUseNativeDialog - расширение не подставляется


Название: Re: различное поведение QFileDialog::getSaveFileName()
Отправлено: igor_bogomolov от Июнь 03, 2009, 09:42
WinXP SP3 Qt 4.5.1 opensource
Полет нормальный, расширения подставляются