- @QmlSingleton#
将装饰的类型声明为 QML 中的单例。只有当类型是 QObject 并且在 QML 中可用(通过具有 QmlElement 装饰器)时,此声明才有效。QQmlEngine 将尝试使用类型的默认构造函数来创建单例实例。
QML_IMPORT_NAME = "com.library.name"
QML_IMPORT_MAJOR_VERSION = 1
QML_IMPORT_MINOR_VERSION = 0 # Optional
@QmlElement
@QmlSingleton
class ClassForQml(QObject):
...
也可以使用接受引擎作为参数的静态 create()
方法
@QmlElement
@QmlSingleton
class ClassForQml(QObject):
@staticmethod
def create(engine):
...
注意
装饰器的顺序很重要;QmlSingleton
必须在 QmlElement
之前。