i want to add a check box to my qtreewigetitem
, i tried this code to setflag
, then i add item is selectable for sake of maybe this will solve my problem but nothing happened, would you please help me how can i add check box
to my item?
thank you in advance
m_eventList->addTopLevelItem(new QTreeWidgetItem);
QTreeWidgetItem *item = m_eventList->topLevelItem(m_eventList->topLevelItemCount()-1)
item->setFlags(item->flags() | Qt::ItemIsUserCheckable |Qt::ItemIsSelectable);
The ItemIsUserCheckable flag is already set by default in QTreeWidgetItem, so that's not the issue.
All you need is to do
item->setCheckState(Qt::Unchecked);
and you should see a checkbox.
Try to reorganize your code:
QTreeWidgetItem* item = new QTreeWidgetItem();
item->setFlags(item->flags() | Qt::ItemIsUserCheckable | Qt::ItemIsSelectable);
item->setCheckState(Qt::Checked);
m_eventList->addTopLevelItem(item);
Another method would be to write your own model and overwrite the flags() method. In this method, you return
Qt::ItemFlags flags = Qt::ItemIsEnabled | Qt::ItemIsSelectable;
if (index.column() == 0)
{
flags |= Qt::ItemIsUserCheckable;
}
return flags;
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With