我试图在pyqt 5中向QML公开一个方法,我需要它来返回一个自定义的QObject。无论如何我似乎无法解决这个问题。下面的代码段大致显示了我尝试做的事情。我尝试将结果参数更改为QObject," QObject"以及其他各种类型。每个都给我一个不同的错误消息,或者如果没有错误,QML接收null而不是对象。我也尝试将Bar注册为一种类型,但仍然没有帮助。
返回这样的自定义对象的正确方法是什么? (注意:我们以前在C ++中使用过它。)
class Bar(QObject):
# etc.
bar = Bar()
class Foo(QObject):
@pyqtSlot(int, result=QObject)
def foo(self, arg1):
return bar
答案 0 :(得分:1)
class Foo(QObject):
@pyqtSlot(int, result=QObject)
def foo(self, arg1):
sip.transferto(bar, bar)
return bar