通过阅读this,出现了两个问题:
它说
有时需要将Python方法明确标记为Qt槽
虽然我总是使用@pyqtSlot装饰器,因为它说:
将信号连接到装饰的Python方法还具有减少内存使用量的优势,并且速度稍快
我问自己:哪些具体案例是必要的?并且:没有使用@pyqtSlot装饰器有什么好处吗?
2.结果关键字参数,它的目的是什么?
@pyqtSlot(int, result=int)
def foo(self, arg1):
""" C++: int foo(int) """
它看起来像返回值的类型,但AFAIK在发出信号时无法检索返回值。
关于那个的任何想法?
编辑:似乎QMetaObject.invokeMethod
方法执行一个槽并使用它的返回值。