Spec-Zone.ru › Qt 5.9

Тип QML FileDialog

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

Оператор импорта: import Qt.labs.platform 1.0
С тех пор: Qt 5.8
Наследует:

Dialog

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

Свойства

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

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

Тип 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
  • WinRT

Модуль 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::setAttribute(Qt::AA_EnableHighDpiScaling);
    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.index : int

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

Имя Описание
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-5.9/qml-qt-labs-platform-filedialog.html

Spec-Zone.ru

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