pyqtSlot()并返回类型python列表



为了将python函数暴露给javascript代码,我需要使用pyqtlot()装饰器。
返回类型是list,所以我应该这样写:
@pyqtSlot(=结果列表)
但是我得到一个错误:
"TypeError:无法将Python 'list'对象转换为c++ 'PyQt_PyObject'实例"

我做了一些调查,但还没有找到答案。
根据pyqt文档,我可以返回任何python类型对象或指定c++类型的字符串,所以我尝试了result='array'。
但是它不工作或者我做错了什么。

@pyqtSlot(result=list)
def getCodeList(self):
    return self.codeList

我想我有办法了。
我只是用QVariant()包装python列表并返回QVariant。

@pyqtSlot(result=QVariant)
def getCodeList(self):
    return QVariant(self.codeList)

谢谢QVariant。

最新更新