Тип QML FolderDialog
Нативное диалоговое окно выбора папки. Подробнее...
| Оператор импорта: | import Qt.labs.platform 1.1 |
| С момента: | Qt 5.8 |
| Наследует: |
Свойства
- acceptLabel : строка
- currentFolder : url
- folder : url
- options : флаги
- rejectLabel : строка
Подробное описание
Тип FolderDialog предоставляет API QML для нативных диалоговых окон выбора папок на платформе.
Чтобы отобразить диалоговое окно выбора папки, создайте экземпляр FolderDialog, задайте необходимые свойства и вызовите open(). Свойство currentFolder можно использовать для определения текущей выбранной папки в диалоговом окне. Свойство folder обновляется только после окончательного выбора, сделанного путем принятия диалогового окна.
MenuItem {
text: "Open..."
onTriggered: folderDialog.open()
}
FolderDialog {
id: folderDialog
currentFolder: viewer.folder
folder: StandardPaths.standardLocations(StandardPaths.PicturesLocation)[0]
}
MyViewer {
id: viewer
folder: folderDialog.folder
} Доступность
Нативные диалоговые окна выбора папки в настоящее время доступны на следующих платформах:
- 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 не гарантируют сохранение совместимости в будущих версиях.
См. также FileDialog и StandardPaths.
Документация по свойствам
acceptLabel : строка
Это свойство содержит текст метки, отображаемый на кнопке, которая принимает диалоговое окно.
При установке в пустую строку используется метка по умолчанию для базовой платформы. Метка по умолчанию обычно Открыть.
Значение по умолчанию — пустая строка.
См. также rejectLabel.
currentFolder : url
Это свойство содержит текущую выбранную папку в диалоговом окне.
В отличие от свойства folder, свойство currentFolder обновляется в то время, как пользователь выбирает папки в диалоговом окне, даже до окончательного выбора.
См. также folder.
folder : url
Это свойство содержит окончательно принятую папку.
В отличие от свойства currentFolder, свойство folder не обновляется в то время, как пользователь выбирает папки в диалоговом окне, а только после окончательного выбора. То есть, когда пользователь нажимает ОК, чтобы принять папку. В качестве альтернативы, можно обработать сигнал accepted(), чтобы получить окончательный выбор.
См. также currentFolder и accepted().
options : флаги
Это свойство содержит различные параметры, которые влияют на внешний вид диалогового окна.
По умолчанию все параметры отключены.
Параметры должны быть установлены до отображения диалогового окна. Установка их во время отображения диалогового окна не гарантирует немедленного изменения диалогового окна (в зависимости от параметра и платформы).
Доступные параметры:
| Константа | Описание |
|---|---|
FolderDialog.ShowDirsOnly |
Отображать только каталоги в диалоговом окне выбора папки. По умолчанию отображаются как папки, так и каталоги. |
FolderDialog.DontResolveSymlinks |
Не разрешать преобразование символических ссылок в диалоговом окне выбора папки. По умолчанию символические ссылки преобразуются. |
FolderDialog.ReadOnly |
Указывает, что в диалоговом окне запрещено создание каталогов. |
rejectLabel : строка
Это свойство содержит текст метки, отображаемый на кнопке, которая отклоняет диалоговое окно.
При установке в пустую строку используется метка по умолчанию для базовой платформы. Метка по умолчанию обычно Отмена.
Значение по умолчанию — пустая строка.
См. также acceptLabel.
© The Qt Company Ltd
Licensed under the GNU Free Documentation License, Version 1.3.
https://doc.qt.io/qt-6.0/qml-qt-labs-platform-folderdialog.html