Connecting QML Signals in PySide

This article is nominated for deletion. Reason: Outdated information. PySide is obsolete.Please raise your support/opposition to this nomination in the article's Discussion page.

This page describes a few alternative approaches for connecting signals between QML and PySide. Simple illustrative examples about the signal connectivity are also provided in the pyside-examples repository. Browse the git tree directly or download a tarball of all examples and refer to the examples/declarative/signals directory.

Connecting signals from QML to Python

Connecting a signal from QML to Python is the most common use case. This allows for example connecting button clicks and other user interface events in QML to the backend logic written in Python.

There are multiple alternative methods for connecting QML signals to Python. The methods are not mutually exclusive; any of them can be used in a single program (and even for a single signal, if need be).

Explicitly calling a Python slot from QML

If the Python object is exposed to QML using

setContextProperty

, you can call any slot of the object explicitly from QML, as shown in qmltopy1. First, you define a class in Python, inheriting from QObject: