我需要使用pyqtSlot()装饰器才能将python函数暴露给javascript代码。
返回类型是列表所以我应该写:
@pyqtSlot(结果=列表)
但我得到一个错误:
“TypeError:无法将Python'列表'对象转换为C ++'PyQt_PyObject'实例”
我做了一些研究,但却找不到答案
根据pyqt doc我可以返回任何python类型对象或指定C ++类型的字符串,所以我尝试了result ='array'。
但它不起作用或我做错了。
@pyqtSlot(result=list)
def getCodeList(self):
return self.codeList
答案 0 :(得分:8)
我想我找到了办法
我只是用QVariant()包装python列表并返回QVariant。
@pyqtSlot(result=QVariant)
def getCodeList(self):
return QVariant(self.codeList)
感谢QVariant。