1. 程式人生 > >QlsitWidget列表設定交替背景色

QlsitWidget列表設定交替背景色

所有繼承自QAbstractItemView的QT類都可以通過setAlternatingRowColors(boolenable)設定列表項顏色交替變化。

通過給stylesheet設定alternate-background-color: rgb(27, 27, 27);可以設定列表項交替時偶數行的顏色。而奇數行的顏色就是預設的列表顏色

例如

QListView{
    background: rgb(33, 33, 33);
    alternate-background-color: rgb(27, 27, 27);

}

效果如下,第一行和背景色一樣,第二行變深色。


常規的使用到此就結束了,但如果要修改奇數行顏色呢,幫助文件並沒有詳細說明,但在看了stylesheet之後發現了



:alternate  

This state is set for every alternate row whe painting the row of a QAbstractItemView when QAbstractItemView::alternatingRowColors() is set to true.

:alternate是交替行的顏色,也就是偶數行,那奇數行就是!alternate 

實現如下:

QListView::item:!alternate:!selected{
   background: rgb(27, 27, 27);
}這是非選中狀態,選中狀態下就把!selected改為selected。


到此為止我們可以設定背景色,交替奇偶數行顏色了,可以隨意發揮了