首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >setBackground for QTableWidgetItem不起作用

setBackground for QTableWidgetItem不起作用
EN

Stack Overflow用户
提问于 2021-03-22 11:58:51
回答 1查看 110关注 0票数 0
代码语言:javascript
复制
from PyQt5 import QtGui, QtWidgets, QtCore

class Test(QtWidgets.QTableWidgetItem):
    def __init__(self):
        super().__init__()
        print("$",self.background()) # note
        try_1 = QtGui.QBrush(QtGui.QColor("orange"))
        print(try_1)
        self.setBackground(try_1)
        print("$",self.background()) # remains same
        try_2 = QtGui.QBrush(QtGui.QColor("orange"))
        print(try_2)
        self.setData(QtCore.Qt.BackgroundRole, try_2)
        print("$",self.background()) # same

Test()

setData()和self.setBackground()不更改QTableWidgetItem的QBrush对象

,我们可以看到那个自我。背景()返回相同的对象

setForeground和setFont工作,但它不工作的背景有另一种方式来设置背景为QTableWidgetItem,以便,我可以使用它在QHeaderView

我访问过许多类似的帖子,但他们没有任何解决方案。

EN

回答 1

Stack Overflow用户

发布于 2022-09-09 06:01:54

尝试使用以下代码:

代码语言:javascript
复制
self.table.horizontalHeaderItem(col).setBackground(QtGui.QColor("green"))

"col“指的是表中的列。注意:在你的应用程序中设置“融合”风格。

代码语言:javascript
复制
if __name__ == "__main__":
  app = QtWidgets.QApplication(sys.argv)
  app.setStyle(QtWidgets.QStyleFactory.create('Fusion')) # won't work on windows style.
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/66745604

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档