Utilizzo correttamente di SetBackground
Domanda
Spero che uno facile per te ...
Ho cercato di impostare il colore di sfondo di un QtListWidgetItem, ma non ho molta fortuna - questo è probabilmente perché non sto usando correttamente il QlistWidgetItem ... nel mio codice di prova posso impostare il primo piano di ogni terzo L'elemento nell'elenco, ma l'impostazione dello sfondo sembra non avere alcun effetto. Qualcuno può individuare il mio stupido errore?
L'ho provato con Pyqt4 e Pyside su Qt 4.7
Grazie, Dan
import sys
from PySide import QtCore, QtGui
class List(QtGui.QListWidget):
def __init__(self):
super(List, self).__init__()
self.populate()
def populate(self):
for i in range(32):
item = QtGui.QListWidgetItem(self)
item.setText('%d'%i)
if i % 3 == 0:
brush = QtGui.QBrush()
brush.setColor(QtGui.QColor('red'))
item.setBackground(brush)
if i % 3 == 1:
brush = QtGui.QBrush()
brush.setColor(QtGui.QColor('blue'))
item.setForeground(brush)
if __name__ == '__main__':
app = QtGui.QApplication(sys.argv)
listw = List()
listw.show()
sys.exit(app.exec_())
Soluzione
Non hai davvero bisogno di un pennello. Basta usare un QColor
:
item.setBackground(QtGui.QColor('red'))
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow