Qt QListWidget addItem内存泄漏

Qt QListWidget addItem memory leak

本文关键字:泄漏 内存 addItem QListWidget Qt      更新时间:2023-10-16

我有一个添加了项目(图标和文本)的QComboBox_1。然后,我从QPushButton_1单击()将项目添加到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类中,该类在其析构函数中自动处理对它们的删除,在其他情况下,当它们被删除时。