Spec-Zone.ru › Qt 5.15

Тип QML FolderDialog

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

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

Dialog

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

Свойства

  • 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
  • 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.15/qml-qt-labs-platform-folderdialog.html

Spec-Zone.ru

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