Тип QML Connections
Описание обобщенных подключений к сигналам. Подробнее...
| Заявление об импорте: | import QtQml 2.0 |
Свойства
- 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.
Документация по свойствам
[since 5.7] enabled : bool
Это свойство указывает, принимает ли элемент события изменения.
По умолчанию это свойство true.
Это свойство было добавлено в Qt 5.7.
ignoreUnknownSignals : bool
Обычно подключение к несуществующему сигналу приводит к ошибке во время выполнения.
Если это свойство установлено в true, такие ошибки игнорируются. Это полезно, если вы планируете подключаться к различным типам объектов, обрабатывая разные наборы сигналов для каждого объекта.
target : Object
Это свойство содержит объект, отправляющий сигнал.
Если это свойство не установлено, target по умолчанию устанавливается на родителя Connection.
Если установлено в null, подключение не происходит, и любые обработчики сигналов игнорируются до тех пор, пока target не будет не null.
© The Qt Company Ltd
Licensed under the GNU Free Documentation License, Version 1.3.
https://doc.qt.io/qt-6.0/qml-qtqml-connections.html