QTreeWidgetItem *header=new QTreeWidgetItem();为什么不能传递参数this
时间: 2024-05-10 22:14:29 浏览: 105
ajax请求添加自定义header参数代码
在这个语句中,你创建了一个 QTreeWidgetItem 对象,并将其分配给一个名为 header 的指针变量。现在,我们来看一下为什么不能将 this 指针传递给它。
在 Qt 中,QTreeWidgetItem 是一个控件类,它表示一个树形控件中的项目。当你创建一个 QTreeWidgetItem 对象时,它必须属于某个 QTreeWidget 或 QTreeWidget 的子类。因此,你必须将该对象添加到 QTreeWidget 或其子类中,以便在树形控件中显示它。
因此,如果你想创建一个 QTreeWidgetItem 对象,并将其添加到当前窗口或控件中,你必须在当前窗口或控件的构造函数中使用 this 指针。因为 this 指针指向当前类的实例,因此你可以使用它来调用窗口或控件的成员函数,例如添加 QTreeWidgetItem 对象。
例如,以下代码将创建一个 QTreeWidgetItem 对象,并将其添加到当前窗口的树形控件中:
```
MyWindow::MyWindow(QWidget *parent) : QWidget(parent)
{
QTreeWidget *treeWidget = new QTreeWidget(this);
QTreeWidgetItem *header = new QTreeWidgetItem();
treeWidget->addTopLevelItem(header);
}
```
在这个例子中,我们使用 this 指针来创建一个 QTreeWidget 对象,并将其添加到当前窗口中。然后,我们创建一个 QTreeWidgetItem 对象,并将其添加到树形控件中。
阅读全文