pyqt5之QTableWidget相关开发笔记

pyqt5之QTableWidget相关开发笔记

1. QTableWidget设置固定行高以及列宽

(1) 固定QTableWidget列宽:
self.tablewidget.horizontalHeader().setSectionResizeMode(QHeaderView.Fixed)

(2) 固定QTableWidget行高:
self.tablewidget.verticalHeader().setSectionResizeMode(QHeaderView.Fixed)

(3) 设置自适应列宽:
self.tablewidget.horizontalHeader().setSectionResizeMode(0, QHeaderView.ResizeToContents)
0为指定的实现自适应列宽的列序号。

(4) 将表格设为禁止状态,对用户只读,默认双击单元格可以修改
self.tableWidget.setEditTriggers(QAbstractItemView.NoEditTriggers)

(5) qtablewidget控件在默认情况下,如果列不足表格的宽度,则后面会有空白,此时可以通过以下设置让表格的列铺满占满表格的宽度。
self.tableWidget.horizontalHeader().setSectionResizeMode(QHeaderView.Stretch)
在这里插入图片描述
(6) 当我们想手动调整列宽时
self.tableWidget.horizontalHeader().setSectionResizeMode(QHeaderView.Interactive)

(7) 自定义列宽
self.tableWidget.setColumnWidth(0, 40)
self.tableWidget.setColumnWidth(1, 200)
self.tableWidget.setColumnWidth(2, 200)

(8) 去掉表格的边框
self.tableWidget.setShowGrid(False)

(9) 设置表格整行选中。表格默认选中的是单个单元格。通过下面代码可以设置成选中整行。
self.tableWidget.setSelectionBehavior(QAbstractItemView.SelectRows)

另外,单元格选中的类型还可以修改成如下方式:
QAbstractItemView.SelectColumns 选中1列
QAbstractItemView.SelectRows 选中1行
QAbstractItemView.SelectItems 选中1个单元格

(10) 行、列标题的显示与隐藏。
对于列标题的显示或隐藏设置,可以通过添加如下代码实现,默认是显示的。
self.tableWidget.horizontalHeader().setVisible(False)

对于行标题,可以使用如下代码进行隐藏或显示设置,默认是显示
self.tableWidget.verticalHeader().setVisible(False)

(11) 动态添加值

items = [['xzz','23','Male','IT'],['cr','18','Female','beautiful']]

for i in range(len(items)):
    item = items[i]
    row = self.tableWidget.rowCount()
    self.tableWidget.insertRow(row)
    for j in range(len(item)):
        item = QTableWidgetItem(str(items[i][j]))
        self.tableWidget.setItem(row,j,item)

(12) 居中显示
newItem = QTableWidgetItem(“内容”)
newItem.setTextAlignment(Qt.AlignHCenter | Qt.AlignVCenter)

(13) 设置字体

       font = QtGui.QFont()
        font.setFamily("微软雅黑")
        font.setPointSize(10)
        font.setBold(False)
        font.setWeight(50)
        self.tableWidget.setFont(font)

(14) 取出边框
self.tableWidget.setFrameShape(QtWidgets.QFrame.NoFrame)

(15) 合并单元格
self.tableWidget.setSpan(0,3,2,1)

(16) 对齐单元格中的内容
Qt.AlignLeft 将单元格内容沿单元格左边缘对齐
Qt.AlignRight 将单元格内容沿单元格右边缘对齐
Qt.AlignHCenter 将单元格内容居中显示在水平方向上。
Qt.AlignJustify 将文本在可用的空间中对齐,默认是从左到右的
Qt.AlignTop 与顶部对齐
Qt.AlignBottom 与底部对齐
Qt.AlignVCenter 在可用的空间中,居中显示在垂直方向上
Qt.AlignBaseline 与基线对齐

(11) 设置单元格字体颜色和背景颜色
item.setForeground(QBrush(QColor(255,0,0))) #设置除最后一列外的文字颜色为红色
item.setBackground(QBrush(QColor(0,255,0))) #设置最后一列的背景色为绿色

  • 2
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值