Brandon
Brandon

Reputation: 678

Background colour of child indicator in QTreeWidgetItem?

I'm using a QTreeWidget to show a list of categorized properties. I would like the top level items to be a different background colour; however, the arrow indicating it has children is always the default black on white (Windows 8.1, Qt 5.2.1). Here's how I'm adding the QTreeWidget Item:

QBrush fg(Qt::white);
QBrush bg(Qt::darkGray);
QTreeWidgetItem *header = new QTreeWidgetItem();
header->setText(0, "Sound File");
this->addTopLevelItem(header);
header->setFirstColumnSpanned(true);
header->setData(0, Qt::ForegroundRole, fg);
header->setData(0, Qt::BackgroundRole, bg);
header->setExpanded(true);

Here's a screenshot of how this gets rendered.

Example screenshot of my issue.

How can I give it a solid background across the whole row?

Upvotes: 1

Views: 2218

Answers (1)

Alena Volarevic
Alena Volarevic

Reputation: 81

For the indicators you can use StyleSheets something like this:

QTreeWidget::branch::!has-children:selected {background-color: rgb(255, 255, 255);} QTreeWidget::branch::!has-children:selected:alternate {background-color: rgb(0, 0, 0);}

and set this StyleSheet to the QTreeWidget..

If someone knows any other way to do this for the individual items feel free to share... I have similar situation where I was one of the item that have children to be different color..

Upvotes: 2

Related Questions