pyqtSlot()和返回类型python list

pyqtSlot()和返回类型python list,python,pyqt,Python,Pyqt,我需要使用pyqtSlot()decorator,以便将python函数公开给javascript代码。 返回类型是list,因此我应该写: @pyqtSlot(结果=列表) 但我得到一个错误: “Type错误:无法将Python”列表对象转换为C++“pyqtl pyObjor实例” 我做了一些研究,但没有找到答案。 根据PyQT文档,我可以返回任何Python类型对象或指定C++类型的字符串,所以我尝试了结果=“数组”。 但它不起作用,或者我做错了什么 @pyqtSlot(result=li

我需要使用pyqtSlot()decorator,以便将python函数公开给javascript代码。
返回类型是list,因此我应该写:
@pyqtSlot(结果=列表)
但我得到一个错误:
“Type错误:无法将Python”列表对象转换为C++“pyqtl pyObjor实例”

我做了一些研究,但没有找到答案。
根据PyQT文档,我可以返回任何Python类型对象或指定C++类型的字符串,所以我尝试了结果=“数组”。 但它不起作用,或者我做错了什么

@pyqtSlot(result=list)
def getCodeList(self):
    return self.codeList
我想我找到了办法。
我只是用QVariant()包装python列表并返回QVariant。

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

谢谢QVariant。

我不认为您可以从插槽返回结果……这是pyqtSlot()装饰程序中的一项必备功能。以后如何将QVariant转换为list?我不需要转换。它只起作用。但是如果我能试着理解为什么根据我的知识。。PyQuStLoad装饰器是为了将结果传递到C++中,它是Qt的语言编写。所以Python中的列表类型使用QAUTE变成了C++的数组类型。所有这些都使得QtWebkit桥技术能够将用C++编写的代码(或使用decorator pyqtSlot的python)公开给javascript代码。我写的不是100%确定。所以要小心。