2012-11-08 47 views
0

考慮一個紙牌遊戲。卡片從甲板上繪製並顯示在屏幕上。卡片是可點擊的,並且導致相同的效果,所以使用QSignalMapper是顯而易見的。C++ Qt - QSignalMapper可以清除並重用嗎?

現在,考慮丟棄這些卡片,以繪製新的卡片。

有沒有辦法清除QSignalMapper,或者是QSignalMapper當從UI中刪除對象時自動清除?

我想過[QSignalMapper::removeMappings][1] (QObject * sender)但我不確定'發件人'是什麼。

回答

1

sender參數是你給作爲第一個參數來setMapping()

而且同一個對象,值得注意的是什麼文件不得不說下removeMappings()

這是時自動完成映射的對象被銷燬。

因此,如果您要銷燬給予SignalMapper的對象,那麼當這些對象被刪除時它將自行清理。

+0

OH!我讀得太快,理解「信號映射器被破壞」。 –