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