Spec-Zone.ru › Qt 5.13

Тип QML FolderDialog

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

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

Dialog

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

Свойства

  • acceptLabel : строка
  • currentFolder : url
  • folder : url
  • options : флаги
  • rejectLabel : строка

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

Тип FolderDialog предоставляет QML API для нативных диалогов выбора папок.

Чтобы отобразить диалог выбора папки, создайте экземпляр 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
  • 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 не гарантируют сохранение совместимости в будущих версиях.

См. также 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-5.13/qml-qt-labs-platform-folderdialog.html

Spec-Zone.ru

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