aboutsummaryrefslogtreecommitdiffstats
path: root/sources/pyside6/doc/extras/QtQml.QmlSingleton.rst
blob: d3d3bf4a78931b910b1edfda635065383e4e2b6a (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
.. currentmodule:: PySide6.QtQml
.. _QmlSingleton:

QmlSingleton
************

.. py:decorator:: QmlSingleton

Declares the decorated type to be a singleton in QML. This only takes effect if
the type is a Q_OBJECT and is available in QML (by having a QmlElement decorator).
The QQmlEngine will try to create a singleton instance using the type's default
constructor.

.. code-block:: python

    QML_IMPORT_NAME = "com.library.name"
    QML_IMPORT_MAJOR_VERSION = 1
    QML_IMPORT_MINOR_VERSION = 0 # Optional

    @QmlElement
    @QmlSingleton
    class ClassForQml(QObject):
        # ...

.. note:: The order of the decorators matters; ``QmlSingleton`` needs to be preceded by ``QmlElement``.