سؤال

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