PyQt5表格控件QTableWidget

QTableWidget

QTableWidget 是 Qt 中的表格组件类。在窗体上放置一个 QTableWidget 组件后,可以在 Property Editor 里对其进行属性设置,双击这个组件,可以打开一个编辑器,对其 Colum、Row 和 Item 进行编辑。

一个 QTableWidget 组件的界面基本结构(加样式后)
PyQt5表格控件QTableWidget_第1张图片

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() 合并单元格,要改变单元格的第row行,column列,要合并rowSpancount行数和columnSpanCount列数row:要改变的行数column:要改变的列数rowSpanCount:需要合并的行数columnSpanCount:需要合并的列数
setShowGrid() 在默认情况下表格的显示是有网格的,可以设置True或False用于是否显示,默认True
setColumnWidth(int column,int width) 设置单元格行的宽度
setRowHeight(int row,int height) 设置单元格列的高度

2. QAbstractItemView单元格内容编辑规则

方法 取值 方法效果
QAbstractItemView.NoEditTriggers0No 0 单元格内容不能修改
QAbstractItemView.CurrentChanged1Editing 1 单元格内容随时修改
QAbstractItemView.DoubleClicked2Editing 2 单元格内容双击修改
QAbstractItemView.SelectedClicked4Editing 4 单元格内容单击修改
QAbstractItemView.EditKeyPressed8Editing 8 单元格内容按下修改键时修改
QAbstractItemView.AnyKeyPressed16Editing 16 单元格内容按任意键修改
QAbstractItemView.AllEditTriggers31Editing 31 包括以上所有条件

3. QAbstractItemView单元格选择

方法 取值 方法效果
QAbstractItemView.SelectItems0Selecting 0 选中单个单元格
QAbstractItemView.SelectRows1Selecting 1 选中一行单元格
QAbstractItemView.SelectColumns2Selecting 2 选中一列单元格

4. 单元格文本水平/垂直对齐方式

方法 方法效果
水平
Qt.AlignLeft 单元格内容沿单元格的左边缘对齐
Qt.AlignRight 单元格内容沿单元格的右边缘对齐
Qt.AlignHCenter 单元格内容居中显示在水平方向
Qt.AlignJustify 单元格内容可用空间内对齐,默认从左到右
垂直
Qt.AlignTop 顶部对齐
Qt.AlignBottom 底部对齐
Qt.AlignVCenter 在垂直方向居中显示
Qt.AlignBaseline 基线对齐

应用实例

首先利用Qt designer 和 PyUIC设计出窗口必须明确此时设置的表格控件名称

# 表格属性和方法现在在self.tableWidget_test上边
self.tableWidget_test = QtWidgets.QTableWidget(self.frame_table)

部分应用:

        # 设置行表头
        self.tableWidget_test.setHorizontalHeaderLabels(["XXX", "XXX", "XXX"])
        # 表格禁止编辑
        self.tableWidget_test.setEditTriggers(QAbstractItemView.NoEditTriggers)
        # 行间隔变色(boolen)
        self.tableWidget_test.setAlternatingRowColors(1)
        # 设置水平方向表格为自适应的伸缩模式
        self.tableWidget_test.horizontalHeader().setSectionResizeMode(QHeaderView.Stretch)
        # 设置整行选中
        self.tableWidget_test.setSelectionBehavior(QAbstractItemView.SelectRows)

你可能感兴趣的:(PyQt5)