Spec-Zone.ru › Qt

Тип QML FolderDialog

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

Заявление об импорте: import Qt.labs.platform
С момента: 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

Модуль 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.2/qml-qt-labs-platform-folderdialog.html

Spec-Zone.ru

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