QGraphicsScene
'dan türetilmiş bir sınıf yazdım. Bir noktada, sahneden bütün eşyaları çıkarmam gerekiyor ve ben de fiziksel olarak imha edilmelerini istiyorum (yıkıcı denir). I güvenilir aşağıdaki gibidir: uyarı: C4150:QGraphicsScene sitesinden tüm QGraphicsItem nasıl silinir
QList<QGraphicsItem*> all = items();
for (int i = 0; i < all.size(); i++)
{
QGraphicsItem *gi = all[i];
removeItem(gi);
delete gi; // warning at this line
}
Qt Creator bir uyarı verir eksik türü 'QGraphicsItem' işaretçi silme;
adı verilen hiçbir yıkıcı neden olmadığından emin değilim. QGraphicsItem
, sanal yıkıcıya sahiptir, böylece öğeler bellekten silinmelidir.
Bu doğru yol değilse, QGraphicsScene
numaralı telefondan tüm QGraphicsItem
s dosyalarını nasıl silebilirim? Sahnenin ne zaman silineceğini bildiğimi, tüm öğelerin de silineceğini unutmayın. Ama öğeleri sahneden kaldırmak ve diğer öğeleri çizmek istiyorum. Kaldırılan öğelerin bellekten silinmesini istiyorum.