pyqtSlot()和返回类型python列表

时间:2014-05-06 20:59:16

标签: python pyqt

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

我做了一些研究,但却找不到答案 根据pyqt doc我可以返回任何python类型对象或指定C ++类型的字符串,所以我尝试了result ='array'。
但它不起作用或我做错了。

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

1 个答案:

答案 0 :(得分:8)

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

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

感谢QVariant。