【发布时间】:2014-12-03 14:10:50
【问题描述】:
是否可以在特定的QTreeWidgetItem 上设置QItemDelegate?我需要用特定的颜色为一些QTreeWidgetItems 着色。
我认为这是可能的,因为我们有 QAbstractItemView::setItemDelegateForRow,但我不知道怎么做。我不能使用QAbstractItemView::setItemDelegateForRow,因为我需要在QTreeWidget 内的子行上设置自定义委托。
有人知道解决办法吗?
【问题讨论】:
-
您可以为整个小部件设置委托。然后检查委托中的项目是否适合着色
-
@Bowdzone 我可以从代表内部访问
QTreeWidgetItem吗? -
你还记得我上一个回答,所以你能用
if(index.parent().isValid())或if(index.parent().row() == 1)代替if(index.row()%2)或者检查item的一些唯一值吗? -
@Chernobyl 嗨,Chernobyl,是的,我记得,但我想做一个比
index.row()%2更高级的检查,我会检查树小部件项是否具有某个属性集,例如(考虑到我有一个自定义的QTreeWidgetItem实现了其他成员函数)。 -
@JacobKrieg 是的,你可以。我不记得我是怎么做到的,因为我现在无法访问我的那个项目。如果我记得我会在 1-2 小时内发布一个示例
标签: qt qtreewidget qtreewidgetitem qitemdelegate