QTableWidget是Qt程序中常用的显示数据表格的控件,类似于winform中的DataGrid。通过Qt Designer在窗体上放置一个 QTableWidget 组件后,可以在 Property Editor 里对其进行属性设置,双击组件可以打开一个编辑器,对其 Colum、Row 和 Item 进行编辑。用QTableWidgetItem来表示一个单元格,整个表格由各个单元格构建起来。
以下记录一些学习过程中使用的基本方法
设置列宽
参数分别为列号和宽度
self.tableWidget.setColumnWidth(0, 100)
self.tableWidget.setColumnWidth(1, 200)
单元格添加文本
先设置文本内容,再导入到对应行列的单元格中
参数分别为行、列、文本内容
newItem = QTableWidgetItem('你好')
self.tableWidget.setItem(0, 0, newItem)
行排序
参数一为列号,以这一列为标准进行排序
参数二为排序方法,包含Qt.AscendingOrder升序和Qt.DescendingOrder降序这两种方法
self.tableWidget.sortItems(0, Qt.AscendingOrder)
获取表格总行数
rows = self.tableWidget.rowCount()
判断单元格内容是否为空
row为行,column为列,需要判断对应行列单元格内容是否为None
if (self.tableWidget.item(row, column) == None):
合并单元格
以下是将第一行第一列 (0,0) 单元格与第二行第一列 (1,0) 单元格合并,即向下合并成两个大小,向右合并成一个大小(相当于没有合并)。
注意: 参数中后面两个如果为1则没有进行合并,还是原来大小。
self.tableWidget.setSpan(0, 0, 2, 1)
给按钮加入方法
利用窗口中按钮object名去连接方法,当按钮被点击时调用相关方法
#w = MainWindow()
w.pushButton.clicked.connect(w.first)
点击按钮关闭窗口
w.quit.clicked.connect(QCoreApplication.instance().quit)
设置表格风格
border:5px solid gray 表格网格线粗细和颜色
border-radius: 18px 单元格外部线条形状
background-color:red 表格背景色
selection-color: red 被选中单元格的颜色
self.tableWidget.setStyleSheet("QTableWidget::item{border:5px solid gray;border-radius: 18px;background-color: rgb(196, 255, 230);selection-color: red;}");