所有继承自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。
到此为止我们可以设置背景色,交替奇偶数行颜色了,可以随意发挥了