Spec-Zone.ru › Qt

Тип QML FileDialog

Встроенный диалог выбора файла. Подробнее...

Заявление об импорте: import Qt.labs.platform
С тех пор: Qt 5.8
Наследует:

Dialog

  • Список всех членов, включая наследуемые

Свойства

  • acceptLabel : строка
  • currentFile : url
  • currentFiles : список<url>
  • defaultSuffix : строка
  • file : url
  • fileMode : перечисление
  • files : список<url>
  • folder : url
  • nameFilters : список<строка>
  • options : флаги
  • rejectLabel : строка
  • selectedNameFilter
    • selectedNameFilter.extensions : список<строка>
    • selectedNameFilter.index : целое
    • selectedNameFilter.name : строка

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

Тип FileDialog предоставляет QML API для диалогов выбора файла нативных платформ.

Для отображения диалога выбора файла создайте экземпляр FileDialog, установите необходимые свойства и вызовите open(). Свойства currentFile или currentFiles могут использоваться для определения текущих выбранных файла(ов) в диалоге. Свойства file и files обновляются только после окончательного выбора, сделанного пользователем при принятии диалога.

MenuItem {
    text: "Open..."
    onTriggered: fileDialog.open()
}

FileDialog {
    id: fileDialog
    currentFile: document.source
    folder: StandardPaths.writableLocation(StandardPaths.DocumentsLocation)
}

MyDocument {
    id: document
    source: fileDialog.file
}

Доступность

Встроенный диалог выбора файла в настоящее время доступен на следующих платформах:

  • iOS
  • Linux (при запуске с темой платформы GTK+)
  • macOS
  • Windows

Модуль Qt Labs Platform использует Qt Widgets в качестве резервного варианта на платформах, на которых нет встроенной реализации. Поэтому приложения, использующие типы из модуля Qt Labs Platform, должны подключаться к QtWidgets и использовать QApplication вместо QGuiApplication.

Для подключения к библиотеке QtWidgets добавьте следующее в свой файл проекта qmake:

QT += widgets

Создайте экземпляр QApplication в main():

#include <QApplication>
#include <QQmlApplicationEngine>

int main(int argc, char *argv[])
{
    QApplication app(argc, argv);
    QQmlApplicationEngine engine;
    engine.load(QUrl(QStringLiteral("qrc:/main.qml")));
    return app.exec();
}

Примечание: Типы в модулях Qt.labs не гарантируют сохранение совместимости в будущих версиях.

См. также FolderDialog и StandardPaths.

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

acceptLabel : строка

Это свойство содержит текст метки, отображаемый на кнопке, принимающей диалог.

При установке в пустую строку используется метка по умолчанию для платформы. Метка по умолчанию обычно Открыть или Сохранить в зависимости от fileMode диалога.

Значение по умолчанию — пустая строка.

См. также rejectLabel.

currentFile : url

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

В отличие от свойства file, свойство currentFile обновляется во время выбора файлов в диалоге, даже до окончательного выбора.

См. также file и currentFiles.

currentFiles : список<url>

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

В отличие от свойства files, свойство currentFiles обновляется во время выбора файлов в диалоге, даже до окончательного выбора.

См. также files и currentFile.

defaultSuffix : строка

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

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

file : url

Это свойство содержит окончательно принятый файл.

В отличие от свойства currentFile, свойство file не обновляется во время выбора файлов в диалоге, а только после окончательного выбора. То есть, когда пользователь нажимает ОК для принятия файла. В качестве альтернативы, можно обработать сигнал accepted(), чтобы получить окончательный выбор.

См. также currentFile и accepted().

fileMode : перечисление

Это свойство содержит режим диалога.

Доступные значения:

Константа Описание
FileDialog.OpenFile Диалог используется для выбора существующего файла (по умолчанию).
FileDialog.OpenFiles Диалог используется для выбора нескольких существующих файлов.
FileDialog.SaveFile Диалог используется для выбора любого файла. Файл не обязательно должен существовать.

files : список<url>

Это свойство содержит окончательно принятые файлы.

В отличие от свойства currentFiles, свойство files не обновляется во время выбора файлов в диалоге, а только после окончательного выбора. То есть, когда пользователь нажимает ОК для принятия файлов. В качестве альтернативы, можно обработать сигнал accepted(), чтобы получить окончательный выбор.

См. также currentFiles и accepted().

folder : url

Это свойство содержит папку, в которой выбираются файлы. Для выбора папки используйте FolderDialog вместо этого.

См. также FolderDialog.

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

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

FileDialog {
    nameFilters: ["Text files (*.txt)", "HTML files (*.html *.htm)"]
}

Примечание: *.* не является переносимым фильтром, потому что историческое предположение, что расширение файла определяет тип файла, не является согласованным на всех операционных системах. Возможны файлы без точки в имени (например, Makefile). В диалоге выбора файла Windows *.* будет соответствовать таким файлам, в то время как в других типах диалогов это может быть не так. Поэтому лучше использовать *, если вы хотите выбрать любой файл.

См. также selectedNameFilter.

options : флаги

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

По умолчанию все параметры отключены.

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

Доступные параметры:

Константа Описание
FileDialog.DontResolveSymlinks Не разрешать разрешение символических ссылок в диалоге выбора файла. По умолчанию символические ссылки разрешаются.
FileDialog.DontConfirmOverwrite Не запрашивать подтверждение, если выбран существующий файл. По умолчанию запрашивается подтверждение.
FileDialog.ReadOnly Указывает, что диалог не позволяет создавать каталоги.
FileDialog.HideNameFilterDetails Указывает, скрыты ли детали фильтра имен файлов или нет.

rejectLabel : string

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

При установке пустой строки используется метка по умолчанию для базовой платформы. Метка по умолчанию обычно равна Отмена.

Значение по умолчанию — пустая строка.

См. также acceptLabel.

selectedNameFilter.extensions : list<string>

Эти свойства содержат выбранный в настоящее время фильтр имен.

Имя Описание
index : int Это свойство определяет, какой фильтр имен выбран. Указанный фильтр выбирается при открытии диалога. Значение обновляется при выборе пользователем другого фильтра.
[только для чтения] name : string Это свойство содержит имя выбранного фильтра. В примере ниже имя первого фильтра — "Text files", а второго — "HTML files".
[только для чтения] extensions : list<string> Это свойство содержит список расширений выбранного фильтра. В примере ниже список расширений первого фильтра — ["txt"], а второго — ["html", "htm"].
FileDialog {
    id: fileDialog
    selectedNameFilter.index: 1
    nameFilters: ["Text files (*.txt)", "HTML files (*.html *.htm)"]
}

MyDocument {
    id: document
    fileType: fileDialog.selectedNameFilter.extensions[0]
}

См. также nameFilters.

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

Spec-Zone.ru

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