C ++ Qt - 可以清除并重用QSignalMapper吗?

时间:2012-11-08 19:57:06

标签: qt

考虑纸牌游戏。卡片从牌组中抽出并显示在屏幕上。这些卡片是可点击的,并且会产生相同的效果,因此使用QSignalMapper是显而易见的。

现在,考虑丢弃这些卡片,以便绘制新卡片。

当从UI中删除对象时,有没有办法清除QSignalMapper,或QSignalMapper是否自动清除?

我考虑过[QSignalMapper::removeMappings][1] ( QObject * sender ),但我不确定'发件人'是什么。

1 个答案:

答案 0 :(得分:1)

sender参数与您作为setMapping()的第一个参数提供的对象相同

此外,值得注意的是文档在removeMappings()下的内容:

  

在销毁映射对象时自动完成。

因此,如果你正在销毁你给SignalMapper的对象,它会在删除这些对象时自行清理。