我想使用PySide2将枚举从Python导出到QML。使用PyQt5是可能的请参阅PyQt5 && QML exporting enum
但是,PySide2中不存在所需的Q_ENUMS。在PySide2中还有其他方法吗?
发布于 2021-04-12 00:32:38
我知道这是一个老问题,但是在新版本的PySide2中,你现在可以使用@QEnum装饰器了。它要求您使用QObject作为包装器(类似于您放在枚举周围的C++名称空间)。
下面是一个示例,说明它可能是什么样子:
class UserState(QObject):
@QEnum
class Options(Enum):
ONLINE = 0
OFFLINE = 1
BUSY = 2为了在QML中访问此枚举,您需要首先对其进行register:
qmlRegisterType(UserState, "yourlibname", 1, 0, "UserState")然后将其导入您的QML中:
import yourlibname 1.0https://stackoverflow.com/questions/55280431
复制相似问题