2011-05-29 52 views
1

QTabWidget有信号currentChanged()。并且它返回当前标签的索引。
但我怎么能得到这个参数在这样的表达:在哪里查找刚刚由信号返回的参数?

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

def foo(index): 
    ... 

我应该在哪里寻找这个参数只是返回?

+0

我的上一个问题的你会有帮助的回答: [前一题(http://stackoverflow.com/questions/ 6159021/lambda-ii-fooi-for-loop-not-working/6162445#6162445) – pedrotech 2011-05-29 13:34:37

回答

3

信号不“返回”任何东西。尽管如此,它们可以有参数,currentIndex就是这种情况。如果你想这样的说法传递给你的函数,你应该尝试:

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

它的工作原理,谢谢。你为什么说它没有被退回?信号返回(发出,传递,发送)参数到插槽。如果没有信号,谁还有呢? – Qiao 2011-05-29 09:52:23

+2

一个信号可以传递/发送/发送值到一个插槽。它不会返回值。这只是词汇/术语。 – Mat 2011-05-29 10:06:12

+0

在这里使用lambda有什么好的理由吗?你不能只做'tabs.currentChanged.connect(foo)'?也许我错过了一些东西...... – Whatang 2011-05-29 16:28:24

相关问题