Как удалить все QGraphicsIticitem из QGraphicsChene

Я написал полученный класс из QGraphicscencene . В точке мне нужно удалить все предметы со сцены, и я хочу, чтобы предметы были физически разрушены (под названием Destructor). Я попробовал следующее:

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 излучает предупреждение: Предупреждение: C4150: Удаление указателя на неполный тип «QGraphicsItem»; Никакой деструктора не под названием

Я не уверен, что это так. QGraphicsItem имеет виртуальный деструктор, поэтому элементы должны быть удалены из памяти.

Если это не правильный путь, как я могу удалить все QGraphicsItem с QGraphicsChene ? Обратите внимание, что я знаю, когда сцена удаляется, все элементы также будут удалены. Но я хочу удалить предметы со сцены и нарисовать другие предметы. Я хочу удаленные предметы быть удалены из памяти.

10
задан jpalecek 15 September 2011 в 12:58
поделиться