2011-05-29 53 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

相關問題