qtablewidget表头筛选
时间: 2024-06-16 18:07:52 浏览: 160
QTableWidget是Qt框架中的一个表格控件,它提供了表头筛选的功能。通过设置表头的筛选器,可以方便地对表格数据进行筛选和排序。
以下是一个演示如何使用QTableWidget实现表头筛选的例子:
```python
from PyQt5.QtWidgets import QApplication, QTableWidget, QTableWidgetItem, QHeaderView
app = QApplication([])
# 创建一个QTableWidget对象
table = QTableWidget()
# 设置表格的行数和列数
table.setRowCount(4)
table.setColumnCount(3)
# 设置表头
table.setHorizontalHeaderLabels(["Name", "Age", "Gender"])
# 设置表头筛选器
table.horizontalHeader().setSectionsClickable(True)
table.horizontalHeader().setSortIndicatorShown(True)
table.horizontalHeader().setStyleSheet("QHeaderView::section{background-color:rgb(200,200,200)}")
# 添加数据
table.setItem(0, 0, QTableWidgetItem("John"))
table.setItem(0, 1, QTableWidgetItem("25"))
table.setItem(0, 2, QTableWidgetItem("Male"))
table.setItem(1, 0, QTableWidgetItem("Alice"))
table.setItem(1, 1, QTableWidgetItem("30"))
table.setItem(1, 2, QTableWidgetItem("Female"))
table.setItem(2, 0, QTableWidgetItem("Bob"))
table.setItem(2, 1, QTableWidgetItem("20"))
table.setItem(2, 2, QTableWidgetItem("Male"))
table.setItem(3, 0, QTableWidgetItem("Emily"))
table.setItem(3, 1, QTableWidgetItem("35"))
table.setItem(3, 2, QTableWidgetItem("Female"))
# 显示表格
table.show()
app.exec_()
```
在这个例子中,我们首先创建了一个QTableWidget对象,并设置了表格的行数和列数。然后,我们使用setHorizontalHeaderLabels方法设置了表头的标签。接下来,我们通过调用horizontalHeader()方法获取表头对象,并设置了筛选器的相关属性,包括可点击、显示排序指示器和样式。最后,我们使用setItem方法向表格中添加了一些数据,并通过show方法显示了表格。
阅读全文