【问题标题】:pyqt4: QListWidget: How to set different text and background colors to different items dynamicallypyqt4:QListWidget:如何为不同的项目动态设置不同的文本和背景颜色
【发布时间】:2018-01-24 02:00:04
【问题描述】:

我是 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 红色和黑色。我怎么能这样做??

【问题讨论】:

  • 是的,先生,它正在工作

标签: python python-2.7 pyqt pyqt4


【解决方案1】:

QListWidgetItem 类具有setBackground():

QListWidgetItem.setBackground(your_color)

在你的情况下:

self.mylist.item(0).setBackground(QtCore.Qt.blue)
# self.mylist.item(0).setBackground(QtGui.QColor("blue"))
# self.mylist.item(0).setBackground(QtGui.QColor(0, 0, 255))
self.mylist.item(1).setBackground(QtCore.Qt.white)
# self.mylist.item(1).setBackground(QtGui.QColor("white"))
# self.mylist.item(1).setBackground(QtGui.QColor(255, 255, 255))

【讨论】:

  • 非常感谢。它正在工作。请告诉我如何设置文本(字体)颜色
  • 字体颜色没有变化
【解决方案2】:

如果你想改变字体颜色,使用名为setForeground的属性

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

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

【讨论】:

    猜你喜欢
    • 2017-02-21
    • 2020-09-02
    • 1970-01-01
    • 1970-01-01
    • 2016-08-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多