在為 QTableView 設置 model 的時候,添加如下語句(ItemDelegate 實現如下):
ui->tblvMeter->setItemDelegate(new ItemDelegate);
//////////////////////////////////////////////////////////
class ItemDelegate : public QItemDelegate
{
Q_OBJECT
public:
explicit ItemDelegate(){}
void paint(QPainter *painter, const QStyleOptionViewItem &option, const QModelIndex &index) const
{
QStyleOptionViewItem viewOption(option);
//高亮顯示與普通顯示時的前景色一致(即選中行和為選中時候的文字顏色一樣)
viewOption.palette.setColor(QPalette::HighlightedText, index.data(Qt::ForegroundRole).value<QColor>());
QItemDelegate::paint(painter, viewOption, index);
}
};