2
希望一個容易爲你...使用正確的setBackground
我一直在試圖建立一個QtListWidgetItem的背景顏色,但我沒有多少運氣 - 這大概是因爲我不是正確使用QListWidgetItem ...在我的測試代碼中,我可以設置列表中每個第三項的前景,但設置背景似乎沒有效果。任何人都可以發現我的愚蠢錯誤?
我Qt的4.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_())
是的 - 這樣做,謝謝! - 這會教我遵循[documentation](http://www.pyside.org/docs/pyside/PySide/QtGui/QListWidgetItem.html#PySide.QtGui.PySide.QtGui.QListWidgetItem.setBackground)... – danodonovan
如果你想要一個漂亮的提示,你可以去除* all * QtBlah.Foo'東西,並用'Foo'替換它,如果你像這樣導入Qt4:'從PyQt4.QtCore import *'和'從PyQt4 .QtGui導入*'。它使事情變得更加可讀,因爲你不需要再輸入'QtCore.'和'QtGui.'。 – Blender
PyQt4內置了變量,而不必硬編碼字符串。 'QtGui.QColor(QtCore.Qt.black)' – NuclearPeon