Spec-Zone.ru › Qt 5.6

Тип QML FileDialog

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

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

Свойства

  • 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 к общим местоположениям, специфичным для платформы, и настраиваемым пользователем избранным. Она использует прикладные настройки настроек для хранения избранного пользователя, а также других настраиваемых пользователем данных, таких как отображение боковой панели, положения разделителей и размера диалога. Настройки хранятся в разделе QQControlsFileDialog прикладных QSettings. Например, при тестировании приложения с помощью инструмента qml, раздел QQControlsFileDialog будет создан в файле настроек Qml Runtime (или записи реестра). Если приложение запускается через пользовательскую функцию C++ main(), рекомендуется установить название, организацию и домен для управления местоположением настроек приложения. Если вы используете объекты Settings в других частях приложения, они будут храниться в других разделах того же файла.

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

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

fileUrl : url

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

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

См. также fileUrls.

fileUrls : список<url>

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

folder : url

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

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

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

Примечание: В iOS, если вы установите folder в shortcuts.pictures, будет использоваться родной диалог выбора изображения для доступа к фотоальбому пользователя. Возвращаемый URL может быть установлен как source для Image. Эта функция была добавлена в 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-адрес домашней папки пользователя.

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

sidebarVisible : bool

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

Это свойство QML было введено в 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.6/qml-qtquick-dialogs-filedialog.html

Spec-Zone.ru

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