我正在使用带有自定义模型的 QTableView,该模型继承自 QAbstractTableModel()。此模型根据显示的值更改某些单元格的前景色和背景色。
我已将选择行为设置为选择整行。
问题是当我选择一行时,整行的背景颜色变为标准橙色,文本颜色变为白色。一旦我删除了选择,它就会恢复到模型设置的状态。
我想要做的是当用户选择一行时,它的前景色和背景色不应该改变。
我尝试设置 QPalette,但找不到实现上述目标的方法。
我在 C++ 中使用 Qt 5.1.0(32 位)。
最佳答案
您可以在表 View 类中执行以下操作:
const QColor hlClr = Qt::red; // highlight color to set
const QColor txtClr = Qt::white; // highlighted text color to set
QPalette p = palette();
p.setColor(QPalette::Highlight, hlClr);
p.setColor(QPalette::HighlightedText, txtClr);
setPalette(p);
关于qt - QTableView中选定行的自定义颜色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19011827/