QTreeWidgetItem::insertChild 不起作用
QTreeWidgetItem::insertChild does not its work
我有一个 QTreeWidget
,我想在某个索引处插入一个 child。我试过
void QTreeWidgetItem::insertChild ( int index, QTreeWidgetItem * child )
但是我放置的任何索引,它都会在 parent 具有的所有 children 的末尾插入 child。
我找到了解决方案:
我的第一个代码是这样的
QTreeWidgetItem* newVtxItem = new QTreeWidgetItem(parentItem);
newVtxItem->setText(0, "vtx 1");
newVtxItem->setText(1, "-1");
childOfNameProfile->insertChild(0,newVtxItem);
然后我通过删除新QTreeWidgetItem的parentItem来更正它:
QTreeWidgetItem* newVtxItem = new QTreeWidgetItem();
newVtxItem->setText(0, "vtx 1");
newVtxItem->setText(1, "-1");
childOfNameProfile->insertChild(0,newVtxItem);
之所以在所有children之后插入child是因为当你创建一个QTreeWidgetItem并定义一个parent时,Qt直接把它放在parent的children列表的末尾。所以 insertChild,正如文档所说:
If the child has already been inserted somewhere else it won’t be inserted again.
我希望我能帮助到别人。享受 Qt!
我有一个 QTreeWidget
,我想在某个索引处插入一个 child。我试过
void QTreeWidgetItem::insertChild ( int index, QTreeWidgetItem * child )
但是我放置的任何索引,它都会在 parent 具有的所有 children 的末尾插入 child。
我找到了解决方案:
我的第一个代码是这样的
QTreeWidgetItem* newVtxItem = new QTreeWidgetItem(parentItem);
newVtxItem->setText(0, "vtx 1");
newVtxItem->setText(1, "-1");
childOfNameProfile->insertChild(0,newVtxItem);
然后我通过删除新QTreeWidgetItem的parentItem来更正它:
QTreeWidgetItem* newVtxItem = new QTreeWidgetItem();
newVtxItem->setText(0, "vtx 1");
newVtxItem->setText(1, "-1");
childOfNameProfile->insertChild(0,newVtxItem);
之所以在所有children之后插入child是因为当你创建一个QTreeWidgetItem并定义一个parent时,Qt直接把它放在parent的children列表的末尾。所以 insertChild,正如文档所说:
If the child has already been inserted somewhere else it won’t be inserted again.
我希望我能帮助到别人。享受 Qt!