2

是否有一个 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
4

2 回答 2

1

您可以通过destroyed()container派生类中捕获信号来自己完成。

PS没有Qt类这样做,AFAIK。

于 2015-03-17T12:44:24.490 回答
0

当指向的对象被删除时,QPointer 会自动清除

于 2015-03-17T12:22:22.023 回答