से सभी QGraphicsItem को कैसे हटाएं मैंने QGraphicsScene
से व्युत्पन्न कक्षा लिखी है। एक बिंदु पर मुझे दृश्य से सभी वस्तुओं को हटाने की जरूरत है और मैं चाहता हूं कि आइटम शारीरिक रूप से नष्ट हो जाएं (विनाशक कहा जाता है)। मैंने कोशिश की है: चेतावनी: C4150:QGraphicsScene
QList<QGraphicsItem*> all = items();
for (int i = 0; i < all.size(); i++)
{
QGraphicsItem *gi = all[i];
removeItem(gi);
delete gi; // warning at this line
}
क्यूटी निर्माता एक चेतावनी का उत्सर्जन करता है अधूरा प्रकार 'QGraphicsItem' के लिए सूचक का विलोपन;
नामक कोई विनाशक नहीं है मुझे यकीन नहीं है कि वह क्यों है। QGraphicsItem
में वर्चुअल विनाशक है इसलिए आइटम को स्मृति से हटा दिया जाना चाहिए।
यदि यह सही तरीका नहीं है, तो मैं QGraphicsScene
से सभी QGraphicsItem
एस कैसे हटा सकता हूं? ध्यान दें कि मुझे पता है कि दृश्य कब हटा दिया गया है, सभी आइटम भी हटा दिए जाएंगे। लेकिन मैं दृश्य से वस्तुओं को हटाना चाहता हूं और अन्य वस्तुओं को आकर्षित करना चाहता हूं। मैं हटाए गए आइटम को स्मृति से हटा देना चाहता हूं।