(求助)关于QWidget *是否调用 delete进行析构。

weixin_38087180 2019-09-19 02:39:23
在成员函数中用到QWidget *w =new QWidget;在QListWidget中运用,setItemWidget(item,w);我把w进行析构出现段错误,做了判断,但是其值并不是NULL。问题:是是不是不用析构?下面是qt源码,里面有setParent.复制代码void QListWidget::setItemWidget(QListWidgetItem *item, QWidget *widget){    Q_D(QListWidget);    QModelIndex index = d->listModel()->index(item);    QAbstractItemView::setIndexWidget(index, widget);}复制代码void QAbstractItemView::setIndexWidget(const QModelIndex &index, QWidget *widget){    Q_D(QAbstractItemView);    if (!d->isIndexValid(index))        return;    if (QWidget *oldWidget = indexWidget(index)) {        d->persistent.remove(oldWidget);        d->removeEditor(oldWidget);        oldWidget->deleteLater();    }    if (widget) {        widget->setParent(viewport());        d->persistent.insert(widget);        d->addEditor(index, widget, true);        widget->show();        dataChanged(index, index); // update the geometry        if (!d->delayedPendingLayout)            widget->setGeometry(visualRect(index));    }}
...全文
72 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复

433

社区成员

发帖
与我相关
我的任务
社区描述
其他技术讨论专区
其他 技术论坛(原bbs)
社区管理员
  • 其他技术讨论专区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧