Spec-Zone.ru › Qt 5.14

Тип 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.14/qml-qtquick-dialogs-filedialog.html

Spec-Zone.ru

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