aboutsummaryrefslogtreecommitdiffstats
path: root/sources/pyside6/doc/extras/QtQml.QmlUncreatable.rst
blob: 0810b123cf956e2c2d4e5f4164694de8b3b49a41 (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
.. currentmodule:: PySide6.QtQml
.. py:decorator:: QmlUncreatable

    Declares that the decorated type shall not be creatable from QML. This takes
    effect if the type is available in QML, by a preceding :deco:`QmlElement`
    decorator. The reason will be emitted as error message if an attempt to create
    the type from QML is detected.

    Some QML types are implicitly uncreatable, in particular types exposed with
    :deco:`QmlAnonymous`.

    Passing None or no argument will cause a standard message to be used instead.

    .. code-block:: python

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


        @QmlElement
        @QmlUncreatable("BaseClassForQml is an abstract base class")
        class BaseClassForQml(QObject):
            ...

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