QTableWidget header设置为透明背景
时间: 2024-03-04 07:49:06
浏览: 359
如果你想要将 QTableWidget 的 header 设置为透明背景,可以通过设置样式表来实现。具体步骤如下:
1.获取 QTableWidget 的 horizontalHeader() 和 verticalHeader() 对象。
```python
horizontalHeader = tableWidget.horizontalHeader()
verticalHeader = tableWidget.verticalHeader()
2.设置 header 的样式表,将其背景色设置为透明。
```python
horizontalHeader.setStyleSheet("background-color: transparent;")
verticalHeader.setStyleSheet("background-color: transparent;")
完整代码如下:
```python
from PyQt5.QtWidgets import QApplication, QTableWidget, QTableWidgetItem, QHeaderView
from PyQt5.QtGui import QColor
app = QApplication([])
tableWidget = QTableWidget()
tableWidget.setRowCount(5)
tableWidget.setColumnCount(3)
# 设置表头颜色
header_color = QColor(255, 170, 0)
tableWidget.horizontalHeader().setStyleSheet("background-color: %s;" % header_color.name())
tableWidget.verticalHeader().setStyleSheet("background-color: %s;" % header_color.name())
# 设置表头为透明背景
horizontalHeader = tableWidget.horizontalHeader()
verticalHeader = tableWidget.verticalHeader()
horizontalHeader.setStyleSheet("background-color: transparent;")
verticalHeader.setStyleSheet("background-color: transparent;")
# 添加数据
for i in range(5):
for j in range(3):
item = QTableWidgetItem("row %d, column %d" % (i, j))
tableWidget.setItem(i, j, item)
tableWidget.show()
app.exec_()
这样就可以将 QTableWidget 的 header 设置为透明背景了。
阅读全文