首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >改变QTableWidgetItem背景色

改变QTableWidgetItem背景色
EN

Stack Overflow用户
提问于 2015-05-21 12:46:08
回答 1查看 15.6K关注 0票数 5

我试图改变QTableWidgetItem背景的颜色。还有其他一些关于同一件事的帖子,但没有一个给出的解决方案对我有用。

对于每一行,我逐一创建QTableWidgetItems,然后用setItem将其分配给当前行的单元格。

在创建它们之后,我尝试更改颜色:

  1. self.myTable.myItem1.setBackgroundColor(QtGui.QColor(255,100,0,255))
  2. self.myTable.myItem1.setBackground(QtGui.QColor(255,100,0,255))
  3. self.myTable.myItem1.setData(Qt.BackgroundRole,QtGui.QColor(255,100,0,255))

但这些解决方案在我的情况下没有任何作用。我遗漏了什么吗?

欢迎任何帮助。

EN

回答 1

Stack Overflow用户

发布于 2015-05-27 14:20:39

您必须设置项目的背景色。有几种方法可以做到这一点(完整的脚本还在后面):

  • 选项1:设置项目的背景,然后将项目添加到表中。

在本例中,我们将item1设置为以"row1“作为内容。如果这是偶数行,那么我们将背景设置为淡红色/粉红色。

代码语言:javascript
复制
item1 = QtGui.QTableWidgetItem('row1')
if row % 2 == 0:
    item1.setBackground(QtGui.QColor(255, 128, 128))
self.table.setItem(row,0,item1)
  • 选项2:在表中已经存在的项上设置背景。这要求您直接对项目进行操作。

在本例中,我们将项目上的背景设置为浅灰色,即第1行,第0列:

代码语言:javascript
复制
self.table.item(1,0).setBackground(QtGui.QColor(125,125,125))

这里有一个完整的脚本,显示了红色和灰色的突出显示:

代码语言:javascript
复制
from PyQt4 import QtCore
from PyQt4 import QtGui 
import sys

class MainWindow(QtGui.QMainWindow):
    def __init__(self, parent=None):
        QtGui.QMainWindow.__init__(self,parent)
        self.table = QtGui.QTableWidget()
        self.table.setColumnCount(2)
        self.setCentralWidget(self.table)
        data1 = ['row1','row2','row3','row4']
        data2 = ['1','2.0','3.00000001','3.9999999']

        self.table.setRowCount(4)

        for row in range(4):
            item1 = QtGui.QTableWidgetItem(data1[row])
            if row % 2 == 0:
                item1.setBackground(QtGui.QColor(255, 128, 128))
            self.table.setItem(row,0,item1)

        self.table.item(1,0).setBackground(QtGui.QColor(125,125,125))


if __name__ == '__main__':
    app = QtGui.QApplication(sys.argv)
    window = MainWindow()
    window.show()
    sys.exit(app.exec_())

输出:

票数 6
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/30374198

复制
相关文章

相似问题

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