Тип QML FileDialog
Нативный диалог выбора файла. Подробнее...
| Оператор импорта: | import Qt.labs.platform 1.0 |
| С тех пор: | Qt 5.8 |
| Наследует: |
Свойства
- 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
} Доступность
Нативный диалог выбора файла в настоящее время доступен на следующих платформах:
Модуль 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.
Это свойство содержит текущие выбранные файлы в диалоге.
В отличие от свойства files, свойство currentFiles обновляется во время выбора файлов пользователем в диалоге, даже до окончательного выбора.
См. также files и currentFile.
defaultSuffix : строка
Это свойство содержит суффикс, добавляемый к выбранным файлам, у которых нет указанного суффикса. Суффикс обычно используется для указания типа файла (например, «txt» указывает на текстовый файл).
Если первый символ — точка ('.',), она удаляется.
file : url
Это свойство содержит окончательно принятый файл.
В отличие от свойства currentFile, свойство file не обновляется во время выбора файлов пользователем в диалоге, а только после окончательного выбора. То есть, когда пользователь нажимает ОК, чтобы принять файл. В качестве альтернативы, можно обработать сигнал accepted() для получения окончательного выбора.
См. также currentFile и accepted().
fileMode : перечисление
Это свойство содержит режим диалога.
Доступные значения:
| Постоянная | Описание |
|---|---|
FileDialog.OpenFile |
Диалог используется для выбора существующего файла (по умолчанию). |
FileDialog.OpenFiles |
Диалог используется для выбора нескольких существующих файлов. |
FileDialog.SaveFile |
Диалог используется для выбора любого файла. Файл не обязательно должен существовать. |
Это свойство содержит окончательно принятые файлы.
В отличие от свойства currentFiles, свойство files не обновляется во время выбора файлов пользователем в диалоге, а только после окончательного выбора. То есть, когда пользователь нажимает ОК, чтобы принять файлы. В качестве альтернативы, можно обработать сигнал accepted() для получения окончательного выбора.
См. также currentFiles и accepted().
folder : url
Это свойство содержит папку, в которой выбираются файлы. Для выбора папки используйте FolderDialog вместо этого.
См. также FolderDialog.
Это свойство содержит фильтры, которые ограничивают типы файлов, которые могут быть выбраны.
FileDialog {
nameFilters: ["Text files (*.txt)", "HTML files (*.html *.htm)"]
} Примечание: *.* не является портативным фильтром, потому что историческое предположение о том, что расширение файла определяет тип файла, не соответствует всем операционным системам. Возможно наличие файла без точки в имени (например, Makefile). В нативном диалоге Windows *.* будет соответствовать таким файлам, в то время как в других типах диалогов это может не выполняться. Поэтому лучше использовать *, если вы хотите выбрать любой файл.
См. также selectedNameFilter.
options : флаги
Это свойство содержит различные параметры, которые влияют на внешний вид диалога.
По умолчанию все параметры отключены.
Параметры должны быть установлены до отображения диалога. Установка их во время отображения диалога не гарантирует немедленного воздействия на диалог (в зависимости от параметра и платформы).
Доступные параметры:
END_OF_DOCUMENT_MARKER| Постоянная | Описание |
|---|---|
FileDialog.DontResolveSymlinks |
Не разрешать переходы по символическим ссылкам в диалоге выбора файла. По умолчанию переходы по символическим ссылкам разрешены. |
FileDialog.DontConfirmOverwrite |
Не запрашивать подтверждение, если выбран существующий файл. По умолчанию запрос подтверждения выполняется. |
FileDialog.ReadOnly |
Указывает, что диалог не позволяет создавать каталоги. |
FileDialog.HideNameFilterDetails |
Указывает, скрыты или нет подробности фильтра имен файлов. |
rejectLabel : строка
Это свойство содержит текст метки, отображаемый на кнопке отклонения диалога.
При установке в пустую строку используется метка по умолчанию для платформы. Метка по умолчанию обычно равна Отмена.
Значение по умолчанию — пустая строка.
См. также acceptLabel.
selectedNameFilter.index : целое
Эти свойства содержат текущий выбранный фильтр имен.
| Имя | Описание |
|---|---|
| index : целое | Это свойство определяет, какой фильтр имен выбран. Указанный фильтр выбирается при открытии диалога. Значение обновляется при выборе пользователем другого фильтра. |
| [только для чтения] name : строка | Это свойство содержит имя выбранного фильтра. В примере ниже имя первого фильтра — "Text files", а второго — "HTML files". |
| [только для чтения] extensions : список<строка> | Это свойство содержит список расширений выбранного фильтра. В примере ниже список расширений первого фильтра — ["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/archives/qt-5.11/qml-qt-labs-platform-filedialog.html