加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Python > 正文

python – PySide:从插槽返回一个值

发布时间:2020-12-20 13:34:31 所属栏目:Python 来源:网络整理
导读:Pyside documentation声明插槽可以有返回值,但我还没弄清楚它是如何做到的. 我找不到任何可用的代码示例,所以我添加了一个装饰器,如文档所示: def testSlot(self): print('testSlot called') return 'RETURN VALUE RETURN VALUE RETURN VALUE' 我试图像这样
Pyside documentation声明插槽可以有返回值,但我还没弄清楚它是如何做到的.

我找不到任何可用的代码示例,所以我添加了一个装饰器,如文档所示:

def testSlot(self):
    print('testSlot called')
    return 'RETURN VALUE RETURN VALUE RETURN VALUE'

我试图像这样捕获返回值:

ret = foo.testSignal.emit()

但它不起作用.我的测试代码,你可以找到here,也是crashes,输出this错误.感谢帮助!

编辑:我已经删除了装饰器,它解决了崩溃的问题,但它仍然没有返回我希望它返回的值.

运行脚本就是这样:

foo.testSignal.emit()
testSlot called
True

解决方法

我担心你认为不可能的事情.
信号和插槽松散地耦合在一起,因此发出信号不会直接调用插槽,因此无法检索“其”返回值.

如果你想一想,这可能会更清楚:

您可以将2个不同的插槽(例如2个不同的类)连接到一个信号,这些插槽返回不同的值.两个返回值中的哪一个应该到达您尝试分配的变量?

您可能的意思是this:这是完全不同的东西,并允许通过“名称”在MetaObject系统上“调用”该方法返回值.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读