@QmlUncreatable

声明被修饰的类型不应从QML创建。如果该类型通过前面的@QmlElement修饰符在QML中可用,则此声明生效。如果检测到尝试从QML创建该类型,将发出错误消息。

一些QML类型是隐式不可创建的,特别是使用 @QmlAnonymous 暴露的类型。

传递 None 或不传递参数将导致使用标准消息。

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):
    ...

注意

装饰器的顺序很重要;QmlUncreatable 需要在 QmlElement 之前。