QT控制选中item的文字颜色(Highlighted Text)

2014-11-24 08:20:27 · 作者: · 浏览: 2

默认的item选中后的背景色(白色)


如果我们想动态的更改item的前景色(例如值大于零显示红色,小于零显示绿色),并且选中后文字颜色不变(这个是我想实现的,其实就是模仿一般的股票价格图表),怎么办呢? 首先在添加或者修改item的时候,可以使用:


model->item(row, column)->setForeground(QBrush(QColor(255, 0, 0))); //把表格的item的文字颜色设置为红色


但是只这样还是不够的,这样只能保证在不选中的情况下显示为红色, 若不做其他设置,选中后item的颜色照样变成白色的了。


对此我找到了使用代理的方法,使选中后的文字颜色和选中前的文字颜色一致(也可以灵活修改),效果如下图,代码随后。


//黄色的那行为选中行