Тип QML Connections
Описание обобщённых соединений со сигналами. Подробнее...
| Заявление об импорте: | import QtQml 2.15 |
Свойства
- enabled : bool
- ignoreUnknownSignals : bool
- target : Объект
Подробное описание
Объект Connections создаёт соединение с QML-сигналом.
Обычно для подключения к сигналам в QML создаётся обработчик «on<Signal>», который реагирует при получении сигнала, например так:
MouseArea {
onClicked: { foo(parameters) }
} Однако в некоторых случаях подключение к сигналу таким способом невозможно, например:
- Требуется несколько подключений к одному и тому же сигналу
- Создание подключений вне области передачи сигнала
- Подключение к целевым объектам, не определённым в QML
В таких случаях можно использовать тип Connections.
Например, вышеприведённый код можно изменить на использование объекта Connections так:
MouseArea {
Connections {
function onClicked(mouse) { foo(mouse) }
}
} Более обобщённо, объект Connections может быть дочерним элементом любого объекта, отличного от отправителя сигнала:
MouseArea {
id: area
}
// ... Connections {
target: area
function onClicked(mouse) { foo(mouse) }
} См. также Qt QML.
Документация свойств
enabled : bool
Это свойство указывает, принимает ли элемент события изменения.
По умолчанию это свойство true.
Это свойство было добавлено в Qt 5.7.
ignoreUnknownSignals : bool
Обычно подключение к несуществующему сигналу приводит к ошибкам во время выполнения.
Если это свойство установлено в true, такие ошибки игнорируются. Это полезно, если вы планируете подключение к различным типам объектов, обрабатывая различный набор сигналов для каждого объекта.
target : Объект
Это свойство содержит объект, который отправляет сигнал.
Если это свойство не установлено, target по умолчанию устанавливается в родительский элемент Connections.
Если установлено в null, соединение не создаётся, и любые обработчики сигналов игнорируются до тех пор, пока целевой объект не будет установлен не равным null.
© The Qt Company Ltd
Licensed under the GNU Free Documentation License, Version 1.3.
https://doc.qt.io/qt-5.15/qml-qtqml-connections.html