Вопрос

I'm trying to get like a checkerboard pattern into a QListWidget. for example, have the first item in the list a dark grey background, and the second item in the list would have a light grey background and keep alternating like that as it goes down. Is there a simple way to accomplish this?

I know I can do it by creating a class, extending a QListWidget and then just set the styles in it each time the list updates but I'm looking for the simplest way possible. Any answers would be helpful.

Это было полезно?

Решение

 listWidget->setAlternatingRowColors(true);

It's a built-in property of Qt.

If you use designer:

enter image description here

Другие советы

I believe this should work

myList->setAlternatingRowColors(true);
myList->setStyleSheet("alternate-background-color: white;background-color: black;");

use pseudo-state - :alternate in stylesheet

Example:

QListView::item {
    background-color: #1C80A6;
    color: white;}
QListView::item:alternate {
    background-color: white;
    color: #1C80A6;}
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top