blob: 1c517347851079b745ea013a0ca02565d66de5a8 (
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
26
27
28
29
30
31
32
33
34
|
.. currentmodule:: PySide6.QtQml
.. py:decorator:: QmlSingleton
Declares the decorated type to be a singleton in QML. This only takes effect if
the type is a :class:`~PySide6.QtCore.QObject` and is available in QML
(by having a :deco:`QmlElement` decorator).
The :class:`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):
...
It is also possible to use a static ``create()`` method which receives
the engine as a parameter:
.. code-block:: python
@QmlElement
@QmlSingleton
class ClassForQml(QObject):
@staticmethod
def create(engine):
...
.. note:: The order of the decorators matters; ``QmlSingleton`` needs to be preceded by ``QmlElement``.
|