没有合适的资源?快使用搜索试试~ 我知道了~
QTableWidget介绍 QTableWidget是Qt程序中常用的显示数据表格的控件,类似于c#中的DataGrid。QTableWidget是QTableView的子类,它使用标准的数据模型,并且其单元数据是通过QTableWidgetItem对象来实现的,使用QTableWidget时就需要QTableWidgetItem。用来表示表格中的一个单元格,整个表格就是用各个单元格构建起来的 QTableWidget类中的常用方法 方法 描述 setROwCount(int row) 设置QTableWidget表格控件的行数 setColumnCount(int col
资源推荐
资源详情
资源评论













python GUI库图形界面开发之库图形界面开发之PyQt5控件控件QTableWidget详细使用方法详细使用方法
与属性与属性
QTableWidget介绍介绍
QTableWidget是Qt程序中常用的显示数据表格的控件,类似于c#中的DataGrid。QTableWidget是QTableView的子类,它使用标准的数据模
型,并且其单元数据是通过QTableWidgetItem对象来实现的,使用QTableWidget时就需要QTableWidgetItem。用来表示表格中的一个单元格,
整个表格就是用各个单元格构建起来的
QTableWidget类中的常用方法类中的常用方法
方法方法 描述描述
setROwCount(int row) 设置QTableWidget表格控件的行数
setColumnCount(int col) 设置QTableWidget表格控件的列数
setHorizontalHeaderLabels() 设置QTableWidget表格控件的水平标签
setVerticalHeaderLabels() 设置QTableWidget表格控件的垂直标签
setItem(int ,int ,QTableWidgetItem) 在QTableWidget表格控件的每个选项的单元控件内添加控件
horizontalHeader() 获得QTableWidget表格控件的表格头,以便执行隐藏
rowCount() 获得QTableWidget表格控件的行数
columnCount() 获得QTableWidget表格控件的列数
setEditTriggers(EditTriggers triggers) 设置表格是否可以编辑,设置表格的枚举值
setSelectionBehavior 设置表格的选择行为
setTextAlignment() 设置单元格内文本的对齐方式
setSpan(int row,int column,int rowSpanCount,int
columnSpanCount)
合并单元格,要改变单元格的第row行,column列,要合并rowSpancount行数和
columnSpanCount列数
row:要改变的行数
column:要改变的列数
rowSpanCount:需要合并的行数
columnSpanCount:需要合并的列数
setShowGrid() 在默认情况下表格的显示是有网格的,可以设置True或False用于是否显示,默认True
setColumnWidth(int column,int width) 设置单元格行的宽度
setRowHeight(int row,int height) 设置单元格列的高度
编辑规则的枚举值类型编辑规则的枚举值类型
方法方法 描述描述
setROwCount(int row) 设置QTableWidget表格控件的行数
setColumnCount(int col) 设置QTableWidget表格控件的列数
setHorizontalHeaderLabels() 设置QTableWidget表格控件的水平标签
setVerticalHeaderLabels() 设置QTableWidget表格控件的垂直标签
setItem(int ,int ,QTableWidgetItem) 在QTableWidget表格控件的每个选项的单元控件内添加控件
horizontalHeader() 获得QTableWidget表格控件的表格头,以便执行隐藏
rowCount() 获得QTableWidget表格控件的行数
columnCount() 获得QTableWidget表格控件的列数
setEditTriggers(EditTriggers triggers) 设置表格是否可以编辑,设置表格的枚举值
setSelectionBehavior 设置表格的选择行为
setTextAlignment() 设置单元格内文本的对齐方式
setSpan(int row,int column,int rowSpanCount,int
columnSpanCount)
合并单元格,要改变单元格的第row行,column列,要合并rowSpancount行数和
columnSpanCount列数
row:要改变的行数
column:要改变的列数
rowSpanCount:需要合并的行数
columnSpanCount:需要合并的列数
setShowGrid() 在默认情况下表格的显示是有网格的,可以设置True或False用于是否显示,默认True
setColumnWidth(int column,int width) 设置单元格行的宽度
setRowHeight(int row,int height) 设置单元格列的高度
表格选择行为的枚举值表格选择行为的枚举值
选择选择 值值 描述描述
QAbstractItemView.SelectItems0Selecting 0 选中单个单元格
QAbstractItemView.SelectRows1Selecting 1 选中一行
QAbstractItemView.SelectColumns2Selecting 2 选中一列
单元格文本水平对齐方式单元格文本水平对齐方式
选项选项 描述描述

Qt.AlignLeft 将单元格内的内容沿单元格的左边缘对齐
Qt.AlignRight 将单元格内的内容沿单元格的右边缘对齐
Qt.AlignHCenter 在可用空间中,居中显示在水平方向上
Qt.AlignJustify 将文本在可用空间内对齐,默认从左到右
选项选项 描述描述
单元格文本垂直对齐方式单元格文本垂直对齐方式
选项选项 描述描述
Qt.AlignTop 与顶部对齐
Qt.AlignBottom 与底部对齐
Qt.AlignVCenter 在可用空间中,居中显示在垂直方向上
Qt.AlignBaseline 与基线对齐
如果要设置水平和垂直方向对齐方式,比如在表格空间内上下,左右居中对齐,那么只要使用Qt,AlignHCenter和Qt,AlignVCenter即可
QTableWidget的基本用法实例的基本用法实例
import sys
from PyQt5.QtWidgets import *
class Table(QWidget):
def __init__(self):
super(Table, self).__init__()
self.initUI()
def initUI(self):
self.setWindowTitle("QTableWidget例子")
self.resize(400,300)
layout=QHBoxLayout()
#实现的效果是一样的,四行三列,所以要灵活运用函数,这里只是示范一下如何单独设置行列
TableWidget=QTableWidget(4,3)
# TableWidget = QTableWidget()
# TableWidget.setRowCount(4)
# TableWidget.setColumnCount(3)
#设置水平方向的表头标签与垂直方向上的表头标签,注意必须在初始化行列之后进行,否则,没有效果
TableWidget.setHorizontalHeaderLabels(['姓名','性别','体重(kg)'])
#Todo 优化1 设置垂直方向的表头标签
#TableWidget.setVerticalHeaderLabels(['行1', '行2', '行3', '行4'])
#TODO 优化 2 设置水平方向表格为自适应的伸缩模式
##TableWidget.horizontalHeader().setSectionResizeMode(QHeaderView.Stretch)
#TODO 优化3 将表格变为禁止编辑
#TableWidget.setEditTriggers(QAbstractItemView.NoEditTriggers)
#TODO 优化 4 设置表格整行选中
#TableWidget.setSelectionBehavior(QAbstractItemView.SelectRows)
#TODO 优化 5 将行与列的高度设置为所显示的内容的宽度高度匹配
#QTableWidget.resizeColumnsToContents(TableWidget)
#QTableWidget.resizeRowsToContents(TableWidget)
#TODO 优化 6 表格头的显示与隐藏
#TableWidget.verticalHeader().setVisible(False)
#TableWidget.horizontalHeader().setVisible(False)
#TOdo 优化7 在单元格内放置控件
# comBox=QComboBox()
# comBox.addItems(['男','女'])
# comBox.addItem('未知')
# comBox.setStyleSheet('QComboBox{margin:3px}')
# TableWidget.setCellWidget(0,1,comBox)
#
# searchBtn=QPushButton('修改')
# searchBtn.setDown(True)
# searchBtn.setStyleSheet('QPushButton{margin:3px}')
# TableWidget.setCellWidget(0,2,searchBtn)
#添加数据
newItem=QTableWidgetItem('张三')
TableWidget.setItem(0,0,newItem)
newItem=QTableWidgetItem('男')
TableWidget.setItem(0,1,newItem)

newItem=QTableWidgetItem('160')
TableWidget.setItem(0,2,newItem)
layout.addWidget(TableWidget)
self.setLayout(layout)
if __name__ == '__main__':
app=QApplication(sys.argv)
win=Table()
win.show()
sys.exit(app.exec_())
初始运行程序,显示效果如下
代码分析
构造一个QTableWidget对象,设置表格为4行3列
TableWidget=QTableWidget(4,3)
设置表格头
TableWidget.setHorizontalHeaderLabels([‘姓名’,’性别’,’体重(kg)’])
生成一个QTableWidgetItem对象,并添加到表格的0行0列处
newItem=QTableWidgetItem(‘张三’)
TableWidget.setItem(0,0,newItem)
优化优化1:设置垂直方向表格头标签:设置垂直方向表格头标签
TableWidget.setVerticalHeaderLabels([‘行1’, ‘行2’, ‘行3’, ‘行4’])
效果如下
优化优化2:设置表格头为伸缩模式:设置表格头为伸缩模式
使用QTableWidget对象的horizontalHeader()函数,设置表格为自适应的伸缩模式,即可根据窗口的大小来改变网格的大小
TableWidget.horizontalHeader().setSectionResizeMode(QHeaderView.Stretch)
剩余13页未读,继续阅读
资源评论

weixin_38674223
- 粉丝: 3
- 资源: 951

上传资源 快速赚钱
我的内容管理 收起
我的资源 快来上传第一个资源
我的收益
登录查看自己的收益我的积分 登录查看自己的积分
我的C币 登录后查看C币余额
我的收藏
我的下载
下载帮助

会员权益专享
安全验证
文档复制为VIP权益,开通VIP直接复制
