2

QObject の破棄されたシグナルを認識し、要素が破棄された場合に要素を削除する Qt コンテナーはありますか?

つまり、このように:

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 に答える