QTableview 怎样用 stylesheet 实现 选中行背景色保持原有颜色不变,但是加粗选中行边框

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了QTableview 怎样用 stylesheet 实现 选中行背景色保持原有颜色不变,但是加粗选中行边框相关的知识,希望对你有一定的参考价值。

如题,实现类似WPS中Excel表格选中行的效果

设置垂直头不可见
实现代码:tabeWidget->verticalHeader()->setVisible(false);
改变颜色以及样式通过setStyleSheet()改变
例如:tableWidget->setStyleSheet("selection-background-color:lightblue;");//设置选择背景色为"淡蓝色"追问

额,你这个只是去掉垂直方向的表头和设置了选中行的背景色,并没有实现像我所表述那样的效果。

参考技术A 重新QItemDelegate的paint方式。
QStyleOptionViewItem coption = option;
coption.state &= ~QStyle::State_Selected;
QItemDelegate::paint(painter, coption, index);
if (option.state & QStyle::State_Selected)
painter->fillRect(option.rect, QColor(165, 207, 241, 128));

以上是关于QTableview 怎样用 stylesheet 实现 选中行背景色保持原有颜色不变,但是加粗选中行边框的主要内容,如果未能解决你的问题,请参考以下文章

QT中如何获取QTableView当前行的坐标

qt中怎样在stylesheet中设置按钮的背景色

QTableView 将小部件缩小到内容

Qt - 如何展开或折叠我的 QTableView

如何在 QTableView 中发出输入单元格和离开单元格的信号

在 QTableView 上单击鼠标左键获取行和列?