QTableWidget - Change the row color
Asked Answered
D

1

12

I'm trying to change the background color of a QTableWidget row. There are some others posts about the same thing but none of the given solutions worked for me.

  • With that solution, we are setting the background on an already existing item in the table to a light grey on the item at row 0, column 1:

    self.table.item(1,0).setBackground(QtGui.QColor(125,125,125))

It's working, but set background for the row with iterating needs more time if you have more then one table. I need a function to change the row background by passing only the row index!

Drysalt answered 20/4, 2017 at 6:41 Comment(0)
M
29

There is no function that performs this task, but we can create it, for example:

def setColortoRow(table, rowIndex, color):
    for j in range(table.columnCount()):
        table.item(rowIndex, j).setBackground(color)

enter image description here

Moleskin answered 20/4, 2017 at 7:38 Comment(3)
Is there a function that can set the background color of the tableWidget to a specific color? I mean for example all cells have gray background regardless of having or not having a value.Gemperle
What is example of color? It requires PySide2.QtWidgets.QTableWidgetItem.setBackground(PySide2.QtGui.QBrush)?Aim
use item.setBackground(QBrush(color))Moleskin

© 2022 - 2024 — McMap. All rights reserved.