pyqt4:QListWidget:如何动态地为不同的项目设置不同的文本和背景颜色

时间:2017-08-16 03:54:23

标签: python python-2.7 pyqt pyqt4

我是PyQt的新手。我想设计一个列表,显示不同的背景和文字颜色的项目。我能够将项目添加到我的列表中,但无法将它们配置为设置不同的颜色。

from PyQt4 import QtCore, QtGui

try:
    _fromUtf8 = QtCore.QString.fromUtf8
except AttributeError:
    def _fromUtf8(s):
        return s

try:
    _encoding = QtGui.QApplication.UnicodeUTF8
    def _translate(context, text, disambig):
        return QtGui.QApplication.translate(context, text, disambig, _encoding)
except AttributeError:
    def _translate(context, text, disambig):
        return QtGui.QApplication.translate(context, text, disambig)

class Ui_MainWindow(object):
    def setupUi(self, MainWindow):
        MainWindow.setObjectName(_fromUtf8("MainWindow"))
        MainWindow.resize(786, 552)
        self.mylist = QtGui.QListWidget(self.centralwidget)
        self.mylist.setObjectName(_fromUtf8("mylist"))


        self.mylist.addItem("item1")


        self.mylist.addItem("item2")

if __name__ == "__main__":
    import sys
    app = QtGui.QApplication(sys.argv)
    MainWindow = QtGui.QMainWindow()
    ui = Ui_MainWindow()
    ui.setupUi(MainWindow)
    MainWindow.show()
    sys.exit(app.exec_())

上面的代码添加到了mylist中名为item1和item2的项目中。我想将背景颜色和文本颜色设置为item1蓝色和白色,以及item2红色和黑色。我怎么能这样做?

2 个答案:

答案 0 :(得分:1)

In [118]: df.groupby('Hostname')[['CPU Peak', 'Memory Peak']].std() Out[118]: CPU Peak Memory Peak Hostname server1 23.560798 19.212091 班级有setBackground()

QListWidgetItem

在你的情况下:

QListWidgetItem.setBackground(your_color)

答案 1 :(得分:0)

如果您想更改字体颜色,请使用名为setForeground的属性

self.mylist.item(0).setForeground(QtCore.Qt.blue)

这会将项目0的字体颜色更改为蓝色