2010-01-30 73 views
1

標題很好地描述了我的問題。沒有這樣的信號QTableWidget :: cellChanged(int,int)

問題的代碼行:

connect(table, SIGNAL(cellChanged(row, 5)), this, SLOT(updateSP())); 

我能想到的任何理由認爲信號是無效的。我搜索了一下,發現了幾個有同樣問題的人,但是擺在那裏的解決方案並不奏效。

我在Ubuntu Karmic,g ++上使用Qt 4.5.2。

任何人都知道我在做什麼錯了?奇趣科技有關cellChanged()的文檔沒有提到任何特殊要求。

我不知所措。

感謝您的任何建議!

+0

添加了更多通用標籤「qt」。 – Wildcat 2010-01-30 11:05:55

+0

該標籤更具體..不一般。不管怎麼說,還是要謝謝你。 – 2012-04-09 23:01:19

回答

6

似乎對我說,你不明白Qt's Signals and Slots concepts.信號& SLOT宏採取接口。像

connect(table, SIGNAL(cellChanged(int, int)), this, SLOT(updateSP())); 

東西可能會奏效,但你需要有相同的參數個數在你的插槽,使其工作像您期望:

connect(table, SIGNAL(cellChanged(int, int)), this, SLOT(updateSP(int, int))); 

插槽應該是這個樣子:

void ClassFoo::updateSP(int row, int column) 
{ 
    // row is the number of row that was clicked; 
    // column is the number of column that was clicked; 
    // Here we go! It's right place to do some actions. =) 
} 
+0

啊!我早先看到了確切的建議,但現在這一切都有道理。呃天真。感謝kemiisto。 – 2010-01-30 13:11:25

相關問題