qtablewidget表头选中变色
时间: 2023-09-13 18:11:31 浏览: 91
要实现表头选中时变色,可以使用QSS(Qt Style Sheet)来设置样式。
以下是一个示例:
```python
from PyQt5.QtWidgets import QApplication, QTableWidget, QTableWidgetItem, QHeaderView
from PyQt5.QtGui import QColor
app = QApplication([])
table = QTableWidget(5, 3)
# 设置表头内容
table.setHorizontalHeaderLabels(['Header 1', 'Header 2', 'Header 3'])
# 设置表头样式
header = table.horizontalHeader()
header.setStyleSheet("QHeaderView::section:hover { background-color: yellow }"
"QHeaderView::section:pressed { background-color: red }"
"QHeaderView::section:selected { background-color: blue }")
# 设置表格内容
for row in range(5):
for col in range(3):
item = QTableWidgetItem(f'Row {row+1}, Col {col+1}')
table.setItem(row, col, item)
table.show()
app.exec_()
```
在这个示例中,我们使用`setHorizontalHeaderLabels`方法设置了表头的内容。然后,我们获取了表头的水平部分(horizontalHeader),并使用QSS设置了三种不同的背景颜色,分别对应鼠标悬停、鼠标按下和被选中的状态。你可以根据需要修改这些颜色。
最后,我们使用`setItem`方法设置了表格内容,并显示了表格。
运行上述代码,你会看到当鼠标悬停、按下或选中表头时,表头的背景颜色会发生相应的变化。
阅读全文