我延长了qstyleditemview
课程。当我处于qtreeview
项目的编辑模式时,paint 方法似乎没有正确执行。当我将状态更改为QStyle::State_Selected
有效时 - 它会在qtreeview
.
知道为什么它不能在编辑模式下工作吗?
void myQItemDelegate::paint(QPainter *painter,const QStyleOptionViewItem &option,const QModelIndex &index) const
{
QStyleOptionViewItem s = *qstyleoption_cast<const QStyleOptionViewItem*>(&option);
if(s.state & QStyle::State_Editing)
{
painter->fillRect(s.rect, s.palette.highlight());
s.palette.setColor(QPalette::HighlightedText, QColor(Qt::blue));
}
QStyledItemDelegate::paint(painter, s, index);
}