Qt QListWidget addItem内存泄漏

Qt QListWidget addItem memory leak

我有一个 QComboBox_1 添加了项目(图标和文本)。然后我从 QPushButton_1 clicked() 将项目添加到 QListWidget_1,如下所示。 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++ 的初学者

提前致谢。

不,不会。从技术上讲,这在手册中并不完全明显,尽管人们肯定可以这么认为。

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