pyqt5中,table单元格置灰
时间: 2023-07-03 21:27:26 浏览: 165
PyQt5中向单元格添加控件的方法示例
你可以使用QStandardItemModel和QTableView来实现单元格置灰的效果,具体步骤如下:
1. 创建一个QStandardItemModel对象,并设置表格的行数和列数。
2. 使用QStandardItem类的setFlags()方法,将单元格设置为不可编辑的状态。
3. 使用QStandardItem类的setData()方法,将单元格的background属性设置为灰色。
4. 将QStandardItemModel对象设置为QTableView的model。
下面是一个示例代码:
```python
from PyQt5.QtWidgets import QApplication, QTableView, QStandardItemModel, QStandardItem
from PyQt5.QtGui import QColor
app = QApplication([])
# 创建表格模型
model = QStandardItemModel(4, 3)
# 设置表格内容
for row in range(4):
for column in range(3):
item = QStandardItem("Item ({}, {})".format(row, column))
item.setFlags(item.flags() ^ Qt.ItemIsEditable) # 设置单元格不可编辑
item.setData(QColor("gray"), Qt.BackgroundRole) # 设置单元格背景色为灰色
model.setItem(row, column, item)
# 创建表格视图
table_view = QTableView()
table_view.setModel(model)
# 显示表格视图
table_view.show()
app.exec_()
```
运行上述代码后,将会出现一个带有置灰单元格的表格视图。
阅读全文