Ask Your Question

Revision history [back]

click to hide/show revision 1
initial version

One way to add a QLabel to a QTreeWidgetItem in Qt C++ is to create a custom QTreeWidgetItem subclass and override the QTreeWidgetItem::setWidget() function with a QLabel as the widget parameter. Here is an example:

// CustomTreeWidgetItem.h

include <qlabel>

include <qtreewidgetitem>

class CustomTreeWidgetItem : public QTreeWidgetItem { public: CustomTreeWidgetItem(QTreeWidget* parent); CustomTreeWidgetItem(QTreeWidgetItem* parent);

void setLabel(const QString& text);

private: QLabel* label; };

// CustomTreeWidgetItem.cpp

include "CustomTreeWidgetItem.h"

CustomTreeWidgetItem::CustomTreeWidgetItem(QTreeWidget* parent) : QTreeWidgetItem(parent) { label = new QLabel(parent); label->setAlignment(Qt::AlignCenter); setWidget(0, label); }

CustomTreeWidgetItem::CustomTreeWidgetItem(QTreeWidgetItem* parent) : QTreeWidgetItem(parent) { label = new QLabel(parent->treeWidget()); label->setAlignment(Qt::AlignCenter); setWidget(0, label); }

void CustomTreeWidgetItem::setLabel(const QString& text) { label->setText(text); }

// Usage:

QTreeWidget* treeWidget = new QTreeWidget(parent);

CustomTreeWidgetItem* item = new CustomTreeWidgetItem(treeWidget); item->setLabel("Hello World");

treeWidget->addTopLevelItem(item);