2010-01-26 25 views
1

在QT4.5,QT插槽得到兩次發出信號

我用一個QTableWidget的,我已經連接了信號QTableWidget的:: itemClicked(),以這樣的定製插槽:

connect(_table, SIGNAL(itemClicked(QTableWidgetItem*)), item, SLOT(sloItemClicked(QTableWidgetItem*))); 

創建這是我添加到表中的每一行的連接。

問題是,slot sloItemClicked被多次調用,似乎它被調用X時間,其中X是我的表中的行數。

但它一直在調用同一行。 (我收到的QTableWidgetItem是相同的)。

這是一個問題,因爲當單擊該行時,我將其刪除。所以下一次被調用時,QTableWidgetItem不再有效並且會崩潰。

如果我只有一行,一切都按預期工作..

任何想法?

感謝

回答

8

您應該只建立一次連接,因爲信號是對個人QTableWidgetItem而不是一個信號。發射時,它會給你你點擊的QTableWidgdetItem作爲參數。