Spec-Zone.ru › Qt 5.14

Тип 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.14/qml-qt-labs-platform-folderdialog.html

Spec-Zone.ru

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