当前位置:网站首页>QListView等视图更改选中时文本颜色

QListView等视图更改选中时文本颜色

2020-12-08 08:46:06 osc_6n4iy0i5

1.QSS样式表

只能统一设置,不够灵活

2.通过代理

    void paint(QPainter *painter, const QStyleOptionViewItem &option, const QModelIndex &index) const  
    {  
        QStyleOptionViewItem  viewOption(option);  
        //高亮显示与普通显示时的前景色一致(即选中和未选中时候的文字颜色一样)  
        if(index.data(Qt::UserRole) .toInt() == 1 && index.column() == 1)
      		  viewOption.palette.setColor(QPalette::HighlightedText, index.data(Qt::ForegroundRole).value<QColor>());  
        QItemDelegate::paint(painter, viewOption, index);  
    }  

版权声明
本文为[osc_6n4iy0i5]所创,转载请带上原文链接,感谢
https://my.oschina.net/u/4369794/blog/4780380