2013-11-30 9 views
6

Мы создаем приложение Qt Quick, которое должно иметь возможность сохранить файл под заданным именем.FileDialog в QTQuick (QML): сохранить файл под заданным именем

В компоненте FileDialog вы можете установить только каталог. Это не очень удобно, поскольку вы не хотите вводить имя файла вручную при каждом скачивании файла.

До сих пор мы пробовали разные вещи

  1. FileDialog из QtQuick.Dialogs: имя файла не может быть установлен

  2. Родной диалог через QPlatformFileDialogHelper (непослушный частный C++ взломать): имя файла не может быть установлен на Linux (Gnome)

  3. Native диалог с помощью статического QFileDialog :: GetSaveFileName(): в быстром применении там нет QWidget для 'родителя'

  4. Диалог QT через экземпляр QFileDialog: модальность doeas не работает, поскольку «родительский» не задан. В быстром приложении нет QWidget для SetParent() вызов

(с помощью C++ с QT 5.1 и QtQuick 2.1 вкл. Все настольные компоненты)

ответ

4

Этот блог охватывает всю проблему и обеспечивает возможный раствор: Advanced FileDialog in QML (Save file under given name)

+2

Он использовал приватные заголовки QT, которые ломаются при обновлении QT – linquize

+0

Мощный разлом, jap. Но у меня нет другого шанса. Я постараюсь сохранить его в актуальном состоянии, так как мы используем его в нашем программном обеспечении. –

+0

В этом сообщении используется модуль widgets, поэтому я не могу понять, почему он не создал оболочку над QFileDialog, которая имеет метод selectFile? – VALOD9

-1

Попробуйте установить FileDialog selectExisting свойство в false.

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