Qt QListWidget addItem内存泄漏

时间:2015-04-06 15:08:28

标签: c++ qt memory-leaks

我有一个QComboBox_1添加了项目(图标和文字)。然后我将项目添加到QListWidget_1,如下所示,来自QPushButton_1 clicked()。 QListWidget强制将QListWidgetItem添加为指针值。

void MainWindow::on_QPushButton_1_clicked(){
int intSelected = ui->QComboBox_1->currentIndex();
QListWidgetItem *Itm = new QListWidgetItem(ui->QComboBox_1->itemIcon(intSelected), ui->QComboBox_1->itemText(intSelected));
ui->QListWidget_1->addItem(Itm);}

它工作正常。但我没有删除指针变量" * Itm"在任何代码中(MainWindow卸载或关闭)。这会造成内存泄漏吗?

我是Qt和C ++的初学者

提前致谢。

1 个答案:

答案 0 :(得分:1)

不,不会。从技术上讲,从手册中看并不完全明显,尽管人们可以想到这一点。

此外,在QListWidget.cpp的源代码中,您可以看到项目存储在内部QListModel类中,该类在其析构函数中自动删除它们,并在其他情况下删除它们。