QTableWidget是常用的显示数据表格控件,是QTableView的子类,它使用标准的数据模型,并且其单元格数据是通过QTableWidgetItem对象来实现的。
QTableWidget类常用方法如下表:
方法 | 描述 |
setRowCount(行数) | 设置表格行数 |
setColumnCount(列数) | 设置表格列数 |
setHorizontalHeaderLabels() | 设置表格水平标签 |
setVerticalHeaderLabels() | 设置表格垂直标签 |
setItem(行,列,对象) | 在表格中添加控件 |
horizontalJeader() | 获取表头,以便隐藏 |
rowCount() | 获取表格的行数 |
columnCount() | 获取表格的列数 |
setEditTriggers(参数) | 设置表格是否可编辑(QAbstractItemView.EditTrigger.X): 0:NoEditTriggers0No:不能对表格内容进行编辑 1:CurrentChanged1Editing:随时都能对单元格进行修改 2:DoubleClicked2Editing:双击单元格 4:SelectedClicked4Editing:单机已选中的内容 8:EditKeyPress8Editing:当修改键被按下时修改单元格 16:AnyKeyPressed16Editing:按任意键修改单元格 31:AllEditTriggers31Editing:包括以上所有条件 |
setSelectionBehavior(参数) | 设置表格的选择行为(QAbstractItemView.SelectionBehavior.x): 0:SelectItems0Selecting:选中单个单元格 1:SelectRows1Selecting:选中一行 2:SelectColumns2Selecting:选中一列 |
setTextAlignment(参数) | 设置单元格内文字的对齐方式 AlignLeft:沿着单元格的左边缘对齐 AlignRight:沿着单元格的右边缘对齐 AlignHCenter:剧中显示在水平方向上 AlignJustify:在可用空间中对齐,默认是从左往右 AlignTop:与顶部对齐 AlignBottom:与底部对齐 AlignVCenter:在可用空间中,居中显示在垂直方向上 AlignBaseline:与基线对齐 |
setSpan(行,列,合并行数,合并列数) | 合并单元格 |
setShowGrid() | 在默认情况下(True),表格显示网格线 |
setColumnWidth(列,宽度) | 设置单元格列的宽度 |
setRowHeight(行,高度) | 设置单元格行的高度 |
接下来用一个案例来学习一下表格QTableWidget控件的使用,先展示基本的效果:
1 创建QTableWidget对象,设置表格为6行4列。
不过也可以对QTableWidget对象分别设置行和列:
2 设置表头标签
设置表格水平表头标:
如果想设置垂直表头标签的话,需要使用下列代码,如果不设置垂直表头,默认是1,2,3...:
设置后变成了A,B,C,D,E,F。
对于水平方向的表头,采用以下代码进行隐藏:
对于垂直方向的表头,采用下列代码进行隐藏:
3 创建QTableWidgetItem
创建QTableWidgetItem对象,赋值并加载到表格的第0行0、1、2、3列。
4 表格只读设置
如果想让表格只读,可以执行下列代码:
5 表格自适应
使用下列函数设置表格为自适应的伸缩模式,即可根据窗口大小来改变单元格大小。
6 设置表格选中整行
表格默认选中的是单个单元格,通过下列代码可以设置成选中整行:
7 设置单元格的宽度、高度与所显示内容的宽度高度相匹配
完整代码如下:
8 在表格中快速定位到指定行
遍历表格查找匹配的单元格的方法:
获取匹配的单元格行号:
滚动到指定行以便在界面中可见:
详细实现代码如下:
查询出来的结果是PyQt6基础教程,红色黑体
本文至此结束,欢迎大家阅读,感谢大家点赞关注!