Spec-Zone.ru › Qt 5.11

Тип QML FileDialog

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

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

Свойства

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

Методы

  • 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 (или записи реестра). Если приложение запускается с помощью пользовательской функции main() в C++, рекомендуется установить name, organization и domain, чтобы контролировать расположение настроек приложения. Если вы используете объекты 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 : логическое

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

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

selectFolder : логическое

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

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

selectMultiple : логическое

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

По умолчанию это свойство равно 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/archives/qt-5.11/qml-qtquick-dialogs-filedialog.html

Spec-Zone.ru

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