Spec-Zone.ru › Qt 5.12

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

Spec-Zone.ru

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