pyqt tablewidget改变特定单元格的颜色
时间: 2023-10-22 13:06:48 浏览: 200
根据条件设置单元格的颜色
要改变 `QTableWidget` 中特定单元格的颜色,可以使用 `QTableWidgetItem` 和 `QBrush` 类。下面是一个简单的例子,演示如何将第1行第2列的单元格更改为红色:
```python
from PyQt5.QtWidgets import QApplication, QTableWidget, QTableWidgetItem
from PyQt5.QtGui import QColor, QBrush
import sys
app = QApplication(sys.argv)
table = QTableWidget()
table.setRowCount(3)
table.setColumnCount(2)
# 添加表格项
item1 = QTableWidgetItem('Apple')
table.setItem(0, 0, item1)
item2 = QTableWidgetItem('Orange')
table.setItem(0, 1, item2)
item3 = QTableWidgetItem('Banana')
table.setItem(1, 0, item3)
item4 = QTableWidgetItem('Grape')
table.setItem(1, 1, item4)
item5 = QTableWidgetItem('Cherry')
table.setItem(2, 0, item5)
item6 = QTableWidgetItem('Blueberry')
table.setItem(2, 1, item6)
# 更改单元格颜色
item = table.item(0, 1)
brush = QBrush(QColor(255, 0, 0))
item.setBackground(brush)
table.show()
sys.exit(app.exec_())
```
在上面的代码中,我们使用 `QTableWidgetItem` 类创建了表格项,并使用 `QTableWidget` 的 `setItem` 方法将它们添加到表格中。然后,我们使用 `table.item` 方法获取第1行第2列的单元格,使用 `QBrush` 类创建一个红色的画刷,并使用 `setBackground` 方法将其设置为单元格的背景。最后,我们使用 `table.show` 方法显示表格。运行代码,您应该可以看到第1行第2列的单元格已经变成了红色。
阅读全文