я хочу добавить флажок к моему qtreewigetitem
я пробовал этот код setflag
, затем я добавляю элемент, который можно выбрать, может быть, это решит мою проблему, но ничего не произошло, не могли бы вы помочь мне, как я могу добавить check box
к моему предмету?
заранее спасибо
m_eventList->addTopLevelItem(new QTreeWidgetItem);
QTreeWidgetItem *item = m_eventList->topLevelItem(m_eventList->topLevelItemCount()-1)
item->setFlags(item->flags() | Qt::ItemIsUserCheckable |Qt::ItemIsSelectable);
Флаг ItemIsUserCheckable уже установлен по умолчанию в QTreeWidgetItem, так что это не проблема.
Все, что вам нужно, это сделать
item->setCheckState(Qt::Unchecked);
и вы должны увидеть флажок.
Попробуйте реорганизовать ваш код:
QTreeWidgetItem* item = new QTreeWidgetItem();
item->setFlags(item->flags() | Qt::ItemIsUserCheckable | Qt::ItemIsSelectable);
item->setCheckState(Qt::Checked);
m_eventList->addTopLevelItem(item);
Другой способ — написать собственную модель и перезаписать флаги () метод. В этом методе вы возвращаете
Qt::ItemFlags flags = Qt::ItemIsEnabled | Qt::ItemIsSelectable;
if (index.column() == 0)
{
flags |= Qt::ItemIsUserCheckable;
}
return flags;