Die richtige Methode ist, die zugrunde liegenden Daten zu löschen, wie folgt aus:
treeWidgetItem.setData(0, QtCore.Qt.BackgroundRole, None)
Es ist erwähnenswert, dass, wenn ein Hintergrund hat nicht gesetzt worden ist, die background()
Methode tatsächlich Rückkehr a NullQBrush
eher als None
. Dies, weil der zugrunde liegende Qt Code tut dies:
return qvariant_cast<QBrush>(data(column, Qt::BackgroundRole))
So dauert es eine Null-QVariant
(die None
entspricht, in PyQt Bedingungen) und wirft sie auf ein Null-QBrush
- das heißt, es nicht die darstellt Standard-Systemfarben, und kann nicht verwendet werden, setzen Sie die ursprünglichen Werte zurück.
Wie hast du es vorher eingestellt? – Trilarion
treeWidgetItem.setBackgroundColor (0, QtGui.QColor ('grün')) # <- wie das? – moDong
Warum musst du kämpfen? Sie würden einfach 'treeWidgetItem.setBackgroundColor (0, QtGui.QColor ('weiß'))' – ShellRox