我正在使用源自的自定义表格模型QAbstractTableModel
.
我已经覆盖了headerData()
我可以通过返回颜色来更改单个行标题(或列标题,但我在这里只讨论行)的字体颜色Qt::ForegroundRole
if(role == Qt::ForegroundRole)
return Qt::green;
但如果我去Qt::BackgroundRole
设置标题单元格的背景颜色,没有任何反应。
if(role == Qt::BackgroundRole)
return Qt::red;
我在上面设置了一个断点return
它已经达到了。但什么也没发生:-(
关于我错在哪里有什么想法吗?
AFAIK 角色颜色相当于设置调色板颜色,QStyle
绘制标题单元格可以随意忽略它。
我在使用时遇到了问题QPalette
或样式表在小部件上设置任意颜色。文本往往有效,“窗口”彩色背景也有效(aQPushButton
例如背景),但文本输入字段背景则不然(QLineEdit
例如)。但据我所知,这取决于特定的QStyle
实现,因此不仅会在不同的小部件之间有所不同,而且还会在不同的平台之间有所不同。唯一的certain让事情完全按照你想要的方式进行的方法是重新实现QStyle
(a big工作),或者手动绘制它paintEvent(..)
(很难跟上当前的QStyle
并且仍然有很多代码)。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)