是否有一个Qt容器,它知道QObject的破坏信号,并在元素被破坏时删除元素?
例如:
QObject *obj1 = new MyObject();
QObject *obj2 = new MyObject();
QObjectContainer c;
c.add(obj1);
c.add(obj2);
qDebug() << c.size(); // Prints 2
delete obj1;
qDebug() << c.size(); // Prints 1
您可以通过在container
派生类中捕获信号destroyed()
来自己完成。
第页。S.没有Qt类能做到这一点,AFAIK。
QPointer将在所指向的对象被删除时自动清除