QTreeWidgetItem 没有 new 作为成员
QTreeWidgetItem without new as member
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 中,通过为其分配另一个QTreeWidgetItem
来初始化Item
。但是QTreeWidgetItem
复制分配不会复制所有内容:
QTreeWidgetItem & QTreeWidgetItem::operator=(const QTreeWidgetItem & 其他)
将其他人的数据和标志分配给此项目。请注意,type() 和 treeWidget() 不会被复制。
相关文章:
- 将成员变量添加到共享库中的类中,不会破坏二进制兼容性吗
- 对RValue对象调用的LValue ref限定成员函数
- 为什么使用 "this" 指针调用派生成员函数?
- 具有奇怪重复模板模式的派生类中的成员变量已损坏
- "new"创建的实例的所有成员变量是否都存在于堆上而不是堆栈上?
- 通过放置 new 重用数据成员存储
- 如果对象是通过 new 创建的,则成员函数的局部变量在哪里创建?
- 使用泛型成员变量"placement new"结构/类数组的正确方法是什么?
- "new"不会将内存分配给作为类的数据成员的指针
- 检索在函数内部使用运算符new分配的类指针对象成员的值时出现的问题
- 如何用new初始化QVector<QVector<QString>>*矩阵(作为类成员)?
- QTreeWidgetItem 没有 new 作为成员
- 删除结构的成员,并将其重新制作为其他内容的副本,而不使用 new
- 当声明成员函数时,*New()是什么意思
- 当使用new()创建数组时,数组的所有成员都位于同一内存位置
- 存储可以使用不同派生类型初始化的基类型成员变量时,请避免使用new
- 类成员运算符new,调用构造函数两次
- 为什么GCC在调用成员函数之前需要在new周围加上括号
- 避免在初始化静态成员时使用new()
- 用new表达式初始化非静态数据成员