C++ Qt tableView-添加颜色

C++ Qt tableView-添加颜色,c++,qt,qt5,qtgui,C++,Qt,Qt5,Qtgui,如何在表格视图的侧面添加颜色 您应该将QHeaderView子类化,并实现自己的类,如: #include<QtWidgets> class HeaderView: public QHeaderView { public: HeaderView():QHeaderView(Qt::Vertical) {} void paintSection(QPainter * painter, const QRect & rect, int logicalIndex) co

如何在
表格视图的侧面添加颜色


您应该将QHeaderView子类化,并实现自己的类,如:

#include<QtWidgets>
class HeaderView: public QHeaderView
{
public:
  HeaderView():QHeaderView(Qt::Vertical)
  {}

   void paintSection(QPainter * painter, const QRect & rect, int logicalIndex) const
   {
     QBrush brush;

     if(logicalIndex == 0)
        brush.setColor(QColor(Qt::red));
     else
        brush.setColor(QColor(Qt::blue));

     painter->fillRect(rect, brush); 
     QPen pen(Qt::white);
     painter->setPen(pen);     
     painter->drawText(rect,QString("Row %1").arg(logicalIndex));     
   }
};

使用
QStyledItemDelegate
@Dmitry Sazonov如何捕获tableView的属性?Qt::DisplayRole?请用代码解释,对我来说更好理解。谢谢,现在它工作了。必须替换
tableview.setHorizontalHeader(&hView)用于
tableview.setVerticalHeader(&hView)
HeaderView vView;    
tableview.setVerticalHeader(&vView);