- 主题:怎么获得包含某个QWidget的QTreeWidgetItem?
QTreeWidgetItem* pItm = new QTreeWidgetItem(ui.treeWidgetUser, QStringList("
blabla"));
QWidget* pWgt= new QWidget();
//do something with pWgt
ui.treeWidgetUser->setItemWidget(pItm, 0, pWgt);
那么在已知pWgt的情况下,有办法获得包含它的pItem吗?
pWgt->parent()好像不对。
--
FROM 114.252.236.*
反过来记录试试
记住pItm,能得到pWnd
--
FROM 223.104.39.*
在调用完setItemWidget后widget的所有权就归treewidget了,你不应该再持有它的指针
了,它有可能会被treewidget释放掉,长期持有容易出现野指针。
一般是用的时候再通过itemWidget临时获取。
另外,如果有widget想查找对应的item,可以尝试遍历所有item,获取它的widget,和持有的widget做比较。
【 在 miui 的大作中提到: 】
: QTreeWidgetItem* pItm = new QTreeWidgetItem(ui.treeWidgetUser, QStringList("
: blabla"));
: QWidget* pWgt= new QWidget();
: ...................
--
修改:gameplayer FROM 111.199.188.*
FROM 111.199.188.*
好像很多人都在使用 QTreeWidget 而不是 QTreeView 啊。后者比较节省内存,效率也比较高。
【 在 miui 的大作中提到: 】
: QTreeWidgetItem* pItm = new QTreeWidgetItem(ui.treeWidgetUser, QStringList("
: blabla"));
: QWidget* pWgt= new QWidget();
: ...................
--
FROM 140.224.34.*