Тип QML Connections
Описывает обобщенные подключения к сигналам. Подробнее...
| Заявление об импорте: | import QtQml |
Свойства
- enabled : bool
- ignoreUnknownSignals : bool
- target : Объект
Подробное описание
Объект Connections создает подключение к QML-сигналу.
При подключении к сигналам в QML обычно создается обработчик "on<Signal>", реагирующий на получение сигнала, например так:
MouseArea {
onClicked: (mouse)=> { foo(mouse) }
} Однако в некоторых случаях подключение к сигналу таким способом невозможно, например, когда:
- Требуется несколько подключений к одному сигналу
- Создаются подключения за пределами области действия отправителя сигнала
- Подключаются к целевым объектам, не определенным в QML
В таких случаях вместо этого можно использовать тип Connections.
Например, приведенный выше код можно изменить, используя объект Connections, как показано ниже:
MouseArea {
Connections {
function onClicked(mouse) { foo(mouse) }
}
} Более общим образом, объект Connections может быть дочерним элементом любого объекта, отличного от отправителя сигнала:
MouseArea {
id: area
}
// ... Connections {
target: area
function onClicked(mouse) { foo(mouse) }
} См. также Qt QML.
Документация по свойствам
[since 5.7] 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-6.2/qml-qtqml-connections.html