Spec-Zone.ru › Qt 5.12

Тип QML FileDialog

Компонент диалога для выбора файлов из локальной файловой системы. Подробнее...

Заявление об импорте: import QtQuick.Dialogs 1.3
С момента: Qt 5.1
  • Список всех членов, включая унаследованные

Свойства

  • defaultSuffix : строка
  • fileUrl : url
  • fileUrls : список<url>
  • folder : url
  • modality : Qt::WindowModality
  • nameFilters : список<строка>
  • selectExisting : bool
  • selectFolder : bool
  • selectMultiple : bool
  • selectedNameFilter : строка
  • shortcuts : Объект
  • sidebarVisible : bool
  • title : строка
  • visible : bool

Методы

  • void close()
  • void open()

Подробное описание

FileDialog предоставляет базовый выбор файла: он позволяет пользователю выбирать существующие файлы и/или каталоги или создавать новые имена файлов. Диалог изначально невидим. Сначала необходимо установить необходимые свойства, а затем установить visible в значение true или вызвать open().

Вот минимальный пример открытия диалога выбора файла и выхода после выбора пользователем файла:

import QtQuick 2.2
import QtQuick.Dialogs 1.0

FileDialog {
    id: fileDialog
    title: "Please choose a file"
    folder: shortcuts.home
    onAccepted: {
        console.log("You chose: " + fileDialog.fileUrls)
        Qt.quit()
    }
    onRejected: {
        console.log("Canceled")
        Qt.quit()
    }
    Component.onCompleted: visible = true
}

Окно FileDialog автоматически является временным для родительского окна. Таким образом, независимо от того, объявляете ли вы диалог внутри Item или внутри Window, диалог будет отображаться по центру над окном, содержащим элемент, или над окном, которое вы объявили.

Реализация FileDialog будет платформенным диалоговым окном выбора файла, если это возможно. Если это невозможно, то она попытается создать экземпляр QFileDialog. Если и это невозможно, то она вернётся к реализации QML, DefaultFileDialog.qml. В этом случае вы можете настроить внешний вид, отредактировав этот файл. DefaultFileDialog.qml содержит прямоугольник для размещения содержимого диалогового окна, потому что некоторые встраиваемые системы не поддерживают несколько окон верхнего уровня. Когда диалог становится видимым, он автоматически будет обернут в окно, если это возможно, или просто переродится поверх основного окна, если может быть только одно окно.

Реализация QML имеет боковую панель, содержащую shortcuts для общих расположений платформы, а также настраиваемые пользователем избранные. Она использует прикладные настройки settings для хранения избранного пользователя, а также другого настраиваемого пользователем состояния, такого как отображение боковой панели, положения разделителей и размера диалогового окна. Настройки хранятся в разделе QQControlsFileDialog прикладных QSettings. Например, при тестировании приложения с помощью инструмента qml, раздел QQControlsFileDialog будет создан в файле настроек Qml Runtime (или записи реестра). Если приложение запускается через пользовательскую функцию C++ main(), рекомендуется установить имя, организацию и домен, чтобы управлять расположением настроек приложения. Если вы используете объекты Settings в других частях приложения, они будут сохранены в других разделах того же файла.

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

Документация по свойствам

defaultSuffix : строка

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

Это свойство задает строку, которая будет добавлена к имени файла, если у него еще нет суффикса. Суффикс обычно используется для указания типа файла (например, "txt" указывает текстовый файл).

Если первый символ является точкой ('.',), она удаляется.

Это свойство было введено в Qt 5.10.

fileUrl : url

Путь к файлу, выбранному пользователем.

Примечание: Это свойство устанавливается только если был выбран ровно один файл. Во всех остальных случаях оно будет пустым.

См. также fileUrls.

fileUrls : список<url>

Список путей к файлам, выбранным пользователем.

folder : url

Путь к текущей выбранной папке. Установка этого свойства перед вызовом open() приведет к тому, что браузер файлов будет изначально расположен в указанной папке.

Значение этого свойства также обновляется после закрытия диалогового окна.

По умолчанию url пустое.

Примечание: В iOS, если вы установите folder в shortcuts.pictures, для доступа к фотоальбому пользователя будет использоваться собственное диалоговое окно выбора изображения. Возвращаемый URL может быть задан как source для Image. Для активации этой функции файл Info.plist, присвоенный QMAKE_INFO_PLIST в файле проекта, должен содержать ключ NSPhotoLibraryUsageDescription. См. документацию Info.plist от Apple для получения дополнительной информации о данном ключе. Эта функция была добавлена в Qt 5.5.

См. также shortcuts.

modality : Qt::WindowModality

Определяет, должен ли диалог отображаться в модальном режиме по отношению к окну, содержащему родительский элемент диалога, в модальном режиме по отношению ко всему приложению или в немодальном режиме.

По умолчанию это Qt.WindowModal.

Модальность не означает, что есть какие-либо блокирующие вызовы для ожидания принятия или отклонения диалогового окна; она только предотвращает взаимодействие пользователя с родительским окном и/или окнами приложения одновременно. Вероятно, вам нужно написать обработчик onAccepted для фактической загрузки или сохранения выбранного файла.

nameFilters : список<строка>

Список строк, используемых в качестве фильтров имен файлов. Каждая строка может быть списком фильтров, разделенных пробелами; фильтры могут включать подстановочные знаки ? и *. Список фильтров также может быть заключён в скобки, и может быть предоставлено текстовое описание фильтра.

Например:

FileDialog {
    nameFilters: [ "Image files (*.jpg *.png)", "All files (*)" ]
}

Примечание: Каталоги не исключаются фильтрами.

См. также selectedNameFilter.

selectExisting : bool

Определяет, могут ли выбираться только существующие файлы или каталоги.

По умолчанию это значение true. Это свойство должно быть установлено в нужное значение перед открытием диалогового окна. Установка этого свойства в false подразумевает, что диалог предназначен для присвоения имени файлу для сохранения чего-либо или присвоения имени создаваемой папки; поэтому selectMultiple должно быть false.

selectFolder : bool

Определяет, должен ли выбранный элемент быть папкой.

По умолчанию это значение false. Это свойство должно быть установлено в нужное значение перед открытием диалогового окна. Установка этого свойства в true подразумевает, что selectMultiple должно быть false и selectExisting должно быть true.

selectMultiple : bool

Определяет, может ли быть выбрано более одного имени файла.

По умолчанию это значение false. Это свойство должно быть установлено в нужное значение перед открытием диалогового окна. Установка этого свойства в true подразумевает, что selectExisting должно быть true.

selectedNameFilter : строка

Какой из nameFilters в данный момент выбран.

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

shortcuts : Объект

Карта некоторых полезных путей из QStandardPaths в их URL. Каждый путь проверяется на существование на компьютере пользователя перед добавлением в этот список в момент создания FileDialog.

desktop QStandardPaths::DesktopLocation Папка рабочего стола пользователя.
documents QStandardPaths::DocumentsLocation Папка, содержащая пользовательские документы.
home QStandardPaths::HomeLocation Домашняя папка пользователя.
music QStandardPaths::MusicLocation Папка, содержащая музыку и другие аудиофайлы пользователя.
movies QStandardPaths::MoviesLocation Папка, содержащая фильмы и видео пользователя.
pictures QStandardPaths::PicturesLocation Папка, содержащая фотографии пользователя. Она всегда является своего рода file: URL; но на некоторых платформах она будет специализированной, так что FileDialog будет реализован как диалог просмотра галереи.

Например, shortcuts.home предоставит URL домашней папки пользователя.

Это свойство было введено в Qt 5.5.

sidebarVisible : bool

Это свойство указывает, отображается ли боковая панель в диалоговом окне, содержащем ярлыки и закладки. По умолчанию это зависит от настроек, сохранённых в разделе QQControlsFileDialog настроек приложения Settings.

Это свойство было введено в Qt 5.4.

title : string

Заголовок диалогового окна.

visible : bool

Это свойство указывает, отображается ли диалоговое окно. По умолчанию это false.

См. также modality.

Документация по методам

void close()

Закрывает диалоговое окно.

void open()

Отображает диалоговое окно пользователю. Это эквивалентно установке visible в значение true.

© The Qt Company Ltd
Licensed under the GNU Free Documentation License, Version 1.3.
https://doc.qt.io/qt-5.12/qml-qtquick-dialogs-filedialog.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API