考虑纸牌游戏。卡片从牌组中抽出并显示在屏幕上。这些卡片是可点击的,并且会产生相同的效果,因此使用QSignalMapper
是显而易见的。
现在,考虑丢弃这些卡片,以便绘制新卡片。
当从UI中删除对象时,有没有办法清除QSignalMapper
,或QSignalMapper
是否自动清除?
我考虑过[QSignalMapper::removeMappings][1] ( QObject * sender )
,但我不确定'发件人'是什么。
答案 0 :(得分:1)
sender
参数与您作为setMapping()
的第一个参数提供的对象相同
此外,值得注意的是文档在removeMappings()
下的内容:
在销毁映射对象时自动完成。
因此,如果你正在销毁你给SignalMapper
的对象,它会在删除这些对象时自行清理。