Qt tableView - 添加颜色

Posted

技术标签:

【中文标题】Qt tableView - 添加颜色【英文标题】:Qt tableView - add color 【发布时间】:2014-03-27 15:16:31 【问题描述】:

如何在tableView 的侧面添加颜色?

【问题讨论】:

使用QStyledItemDelegate @Dmitry Sazonov 如何获取 tableView 的属性? Qt :: DisplayRole?请用代码解释,我更容易理解。 【参考方案1】:

你应该继承 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));     
   
;

接下来设置一个 HeaderView 的实例作为 QTableView 的垂直表头:

HeaderView vView;    
tableview.setVerticalHeader(&vView);

【讨论】:

谢谢,现在可以了。必须将tableview.setHorizontalHeader (&amp;hView); 替换为tableview.setVerticalHeader(&amp;hView);

以上是关于Qt tableView - 添加颜色的主要内容,如果未能解决你的问题,请参考以下文章

如何在Qt 的tableview中根据某一单元格的数据来设置该行的字体颜色或背景色。

qt中如何添加窗体背景图片?如何改变窗体背景颜色?

QT Quick TableView rowDelegate crash android

如何在 Qt TableView 中实现像过滤一样的电子表格?

在 tableview 单元格中显示图像

懒加载的简单理解