class A
{
QTreeWidget Tree;
QTreeWidgetItem Item;
QTreeWidgetItem* pointer;
}
A::A()
{
...
Item = QTreeWidgetItem(&Tree); // Version 1
Item.setText(0, "Item");
pointer = new QTreeWidgetItem(&Tree); // Version 2
pointer->setText(0, "Pointer");
...
}
很抱歉没有提供完整的示例,我希望这足够了。
版本2正常工作,该项目显示在GUI的树中。版本1不起作用(该项目未显示)。为什么?
该对象仍然存在(即未销毁)。
最佳答案
在版本1中,您要通过为其分配另一个Item
来对其进行初始化。但是QTreeWidgetItem
复制作业不会复制所有内容:
QTreeWidgetItem&QTreeWidgetItem :: operator =(const QTreeWidgetItem&
其他)
将其他人的数据和标志分配给该项目。请注意,type()和
未复制treeWidget()。
关于c++ - 没有新的QTreeWidgetItem作为成员,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/35070683/