PDA

View Full Version : Problem with Delegates in QTreeWidget



DeRatizator
1st October 2010, 10:42
Hi,

I am trying to figure out how QT delegates are supposed to work so I put a Delegate into QTreeWidget. I used default SpinBoxDelegate for a simple test below.


QTreeWidget *view = new QTreeWidget();


view->setEditTriggers(QAbstractItemView::DoubleClicked | QAbstractItemView::SelectedClicked);
view->setSelectionBehavior(QAbstractItemView::SelectRows );

SpinBoxDelegate *delegate = new SpinBoxDelegate ();
view->setItemDelegate(delegate);

for (int row = 0; row < 20; ++row) {
QTreeWidgetItem *item0 = new QTreeWidgetItem(view);
item0->setText(0, QString("Test") + QString::number(row));

view->addTopLevelItem(item0);
}

view->expandAll();
view->show();

In a result SpinBoxDelegate::createEditor never gets called.
What could be wrong with my code?

Lykurg
1st October 2010, 11:42
You have to set the item flag Qt::ItemIsEditable.

Moving to newbie.