Освобождение элементов в QStandardItemModel

Когда QStandardItemModel, который выделяется в стеке, уничтожается, что происходит с объектами, на которые указывают указатели в модели (например, указатель item / item2, как в следующем примере):

QStandardItem* item = new QStandardItem("test");
QStandardItem* item2 = new QStandardItem("test2");

QList<QStandardItem*> list;
list.append(item);
list.append(item2);

QStandardItemModel model;
model.addRow(list);

В этом контексте, если я правильно понял, строка в модели состоит из N значений, каждое значение в этой строке представлено как QStandardItem. Это означает, что вышеописанный объект «list» представляет собой одну строку с двумя значениями (столбцами).

Это лучше или хуже, чем использование model.setData(), model.setRowCount() и координат для отслеживания вручную?

Если нужен полный контекст, он здесь. Идея состоит в том, чтобы вручную перебрать результаты QSqlQuery и получить строки в кусках. Соответствующий метод называется loadChunk.

Если модель выделена в стек, мне нужно как-то управлять освобождением элементов, загруженных в модель, через addRow()

TLDR; как убедиться, что модель не утечка памяти, когда модель выделена стеком, но содержит много указателей на объекты в куче?

1
задан 13 August 2018 в 16:01

0 ответов

Другие вопросы по тегам:

Похожие вопросы: