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
class CustomTreeWidgetItem : public QTreeWidgetItem { public: CustomTreeWidgetItem(QTreeWidget* parent); CustomTreeWidgetItem(QTreeWidgetItem* parent);
void setLabel(const QString& text);
private: QLabel* label; };
// CustomTreeWidgetItem.cpp
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);