希望对你来说是个简单的选择。
我一直在尝试设置QtListWidgetItem的背景颜色,但我没有太多的运气-这可能是因为我没有正确使用QListWidgetItem……在我的测试代码中,我可以设置列表中每三个项目的前景,但设置背景似乎没有任何效果。有人能发现我的愚蠢错误吗?
我已经在Qt4.7上用PyQt4和PySide测试了这一点
谢谢,丹
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_())发布于 2011-12-06 01:11:26
你真的不需要刷子。只需使用QColor
item.setBackground(QtGui.QColor('red'))https://stackoverflow.com/questions/8388997
复制相似问题