【发布时间】:2016-02-11 03:25:29
【问题描述】:
我正在使用 QTreeWidget 并为 QTreeWidget 中的 QTreeWidgetItem 设置一个小部件。它工作正常,但是当我第二次这样做时,应用程序崩溃了。
下面的工作正常。
QTreeWidget* treewidget = new QTreeWidget();
QTreeWidgetItem* item0 = new QTreeWidgetItem((QTreeWidget*)0, QStringList(QString("item0")));
treewidget->insertTopLevelItem(0,item0);
QSlider* slider0 = new QSlider();
treewidget->setItemWidget(item0, 0, slider0);
但是如果我再次添加最后一行,它会在运行应用程序时崩溃。
下面崩溃了。
QTreeWidget* treewidget = new QTreeWidget();
QTreeWidgetItem* item0 = new QTreeWidgetItem((QTreeWidget*)0, QStringList(QString("item0")));
treewidget->insertTopLevelItem(0,item0);
QSlider* slider0 = new QSlider();
treewidget->setItemWidget(item0, 0, slider0);
treewidget->setItemWidget(item0, 0, slider0); // Intentionally added to simulate the issue
以上是显示问题的示例,但在我的应用程序中,基于某些事件,我删除了树小部件项目并稍后添加。当我设置项目小部件(稍后添加项目后)时,我遇到了崩溃。
我不知道为什么。有任何想法吗?仅供参考,我使用的是 Qt 5.3.2 MSVC 2010,32 位。
【问题讨论】:
标签: c++ qt qtreewidget qtreewidgetitem