【问题标题】:Where to look for parameter that was just returned by signal?在哪里寻找信号刚刚返回的参数?
【发布时间】:2017-01-01 02:55:50
【问题描述】:

QTabWidget 有信号currentChanged()。它返回当前选项卡的索引。
但是我怎样才能在这样的表达式中得到这个参数:

tabs.currentChanged.connect(lambda: foo());

def foo(index):
    ...

我应该在哪里查找刚刚返回的这个参数?

【问题讨论】:

标签: python qt pyqt


【解决方案1】:

信号不会“返回”任何东西。但是它们可以有参数,currentIndex 就是这种情况。如果您希望将该参数传递给您的函数,您应该尝试:

tabs.currentChanged.connect(lambda index: foo(index));

【讨论】:

  • 它有效,谢谢。为什么说不退货?信号返回(发射、传递、发送)参数到槽。如果没有信号,还有谁做到了?
  • 信号可以将值传递/发射/发送到插槽。它不返回值给它。这只是词汇/术语。
  • 这里有什么好的理由使用 lambda 吗?你就不能tabs.currentChanged.connect(foo)吗?也许我错过了什么......
  • @Whatang:我不知道,我对python不是很熟悉。
猜你喜欢
  • 2011-10-01
  • 1970-01-01
  • 1970-01-01
  • 2014-12-19
  • 1970-01-01
  • 1970-01-01
  • 2021-08-03
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多