Есть вот такой код:
void AllRoots::setAllRoots(QTableWidget* view) {
QSqlDatabase db = getDatabase();
db.setDatabaseName("test");
db.setUserName("root");
db.setHostName("localhost");
db.setPassword("123456");
if (!db.open()) {
qDebug() << "Error";
}
QSqlQuery query;
if (!query.exec("select * from table1")) {
qDebug() << "Error select";
}
QString id1, id2,text1, text2, text3;
QSqlRecord rec = query.record();
view->setRowCount(rec.count());
uint i = 0;
while(query.next()) {
id1 = query.value(rec.indexOf("id1")).toString();
id2 = query.value(rec.indexOf("id2")).toString();
text1 = query.value(rec.indexOf("text1")).toString();
text2 = query.value(rec.indexOf("text2")).toString();
text3 = query.value(rec.indexOf("text3")).toString();
view->setItem(i, 0, new QTableWidgetItem(id1));
view->setItem(i, 1, new QTableWidgetItem(id2));
view->setItem(i, 2, new QTableWidgetItem(text1));
view->setItem(i, 3, new QTableWidgetItem(text2));
view->setItem(i, 4, new QTableWidgetItem(text3));
i++;
}
}
Проблема в том, что при уничтожении в деструктуре QTableWidget не уничтожаются QTableWidgetItem и соответственно идёт утечка памяти. Вопрос, как сделать чтобыпри удалении QTableWidget удалялись автоматом QTableWidgetItem?