Spec-Zone.ru › Qt 5.9

Тип QML Connections

Описывает обобщённые соединения со сигналами Подробнее...

Заявление об импорте: import QtQml 2.2
  • Список всех членов, включая унаследованные

Свойства

  • enabled : bool
  • ignoreUnknownSignals : bool
  • target : Объект

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

Объект Connections создаёт соединение с QML-сигналом.

При подключении к сигналам в QML обычно создаётся обработчик "on<Signal>", который реагирует на получение сигнала, например:

MouseArea {
    onClicked: { foo(parameters) }
}

Однако, подключение к сигналу таким способом невозможно в некоторых случаях, таких как:

  • Необходимость нескольких подключений к одному сигналу
  • Создание подключений вне области отправки сигнала
  • Подключение к целям, не определённым в QML

В таких случаях можно использовать тип Connections.

Например, код выше можно изменить, используя объект Connections, как показано ниже:

MouseArea {
    Connections {
        onClicked: foo(parameters)
    }
}

В более общем случае, объект Connections может быть дочерним элементом какого-либо объекта, отличного от отправителя сигнала:

MouseArea {
    id: area
}
// ...
Connections {
    target: area
    onClicked: foo(parameters)
}

См. такжеQt QML.

Документация свойств

enabled : bool

Это свойство определяет, принимает ли элемент события изменения.

По умолчанию, это свойство равно true.

Это свойство QML было введено в Qt 5.7.

ignoreUnknownSignals : bool

Обычно, подключение к несуществующему сигналу приводит к ошибкам во время выполнения.

Если это свойство установлено в true, такие ошибки игнорируются. Это полезно, если вы намерены подключаться к различным типам объектов, обрабатывая разные наборы сигналов для каждого объекта.

target : Объект

Это свойство содержит объект, отправляющий сигнал.

Если это свойство не установлено, то target по умолчанию устанавливается в родительский элемент Connection.

Если установлено в null, подключение не происходит, и любые обработчики сигналов игнорируются до тех пор, пока target не будет установлен в не-null.

© The Qt Company Ltd
Licensed under the GNU Free Documentation License, Version 1.3.
https://doc.qt.io/qt-5.9/qml-qtqml-connections.html

Spec-Zone.ru

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