PenNameLuXun 2017-01-19 04:05 采纳率: 0%
浏览 2012

Qt QTreeWidget setItemWidget疑问

从QTreeWidget继承写的 CHddsTreeWidget在树上添加按钮
void CHddsTreeWidget::AddToolBtn()
{
for (int j = 0; j < topLevelItemCount(); j++)
{
QTreeWidgetItem rootitem = topLevelItem(j);
if (j == 0)
{
QTreeWidgetItem
AddImageIterm = new QTreeWidgetItem(rootitem);
CTreeToolBtn* pAddImageBtn = new CTreeToolBtn(eAddImageBtn,AddImageIterm);
SetItemIcon(AddImageIterm,0);
}
else if (1 == j)
{
int DiskNum = rootitem->childCount();
for (int i = 0; i < DiskNum;++i)
{
QTreeWidgetItem * pDisk = rootitem->child(i);
QTreeWidgetItem* pBtnItem = new QTreeWidgetItem(pDisk);
CTreeToolBtn* pBtn = new CTreeToolBtn(eAddNewPartitionBtn, pBtnItem);
SetItemIcon(pBtnItem, 1);
}
}
}
}
CTreeToolBtn是从QPushButton继承而来
CTreeToolBtn::CTreeToolBtn(EToolBtnType ToolType, QTreeWidgetItem* pSelfItem)
:m_BtnType(ToolType),m_pSelfIterm(pSelfItem)
{
Init(ToolType);
pSelfItem->treeWidget()->setItemWidget(pSelfItem, 0, this);
}
现在问题是Qt程序退出时,会崩溃,如果把CTreeToolBtn::m_pSelfIterm去掉就不会崩溃(这个成员在CTreeToolBtn中除了构造时用于setItemWidget之后都没使用),是为什么呢? 没金币 第一次问 拜托大家了,谢谢
图片说明

  • 写回答

1条回答 默认 最新

  • nanjun520 2017-01-20 08:34
    关注

    看你这个异常是释放的时候出的问题

    评论

报告相同问题?

悬赏问题

  • ¥30 这是哪个作者做的宝宝起名网站
  • ¥60 版本过低apk如何修改可以兼容新的安卓系统
  • ¥25 由IPR导致的DRIVER_POWER_STATE_FAILURE蓝屏
  • ¥50 有数据,怎么建立模型求影响全要素生产率的因素
  • ¥50 有数据,怎么用matlab求全要素生产率
  • ¥15 TI的insta-spin例程
  • ¥15 完成下列问题完成下列问题
  • ¥15 C#算法问题, 不知道怎么处理这个数据的转换
  • ¥15 YoloV5 第三方库的版本对照问题
  • ¥15 请完成下列相关问题!