FileDialog в QTQuick (QML): сохранить файл под заданным именем

мы создаем приложение Qt Quick, которое должно иметь возможность сохранять файл под именем.

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

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

  1. FileDialog от QtQuick.Диалоги: имя файла не может быть set

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

  3. собственный диалог через статический QFileDialog:: getSaveFileName (): в быстром приложении нет QWidget для "parent"

  4. Qt dialog через экземпляр QFileDialog: модальность doeas не работает, так как "родитель" не установлен. В быстром приложении нет QWidget, доступного для setParent() звоните

(используя C++ С QT 5.1 и QtQuick 2.1 ВКЛ. все компоненты рабочего стола)

2 ответов


это сообщение в блоге охватывает всю проблему и обеспечивает возможное решение: расширенный FileDialog в QML (сохранить файл под заданным именем)


попробуйте установить для свойства FileDialog selectExisting значение false.