Qt之数据表格QTableWidget用法及pyqt调用

17 篇文章 3 订阅
8 篇文章 1 订阅

QTableWidget是qt和pyqt程序中常用的显示数据表格的控件。

用法:

1.创建QTableWidget对象,然后设置列数和行数。

2.设置每一列标题。

3.添加数据项addItem()函数。

4.将数据通过QTableWidgetItem对象放入第row行和第col列的单元格里面。这里行和列都是从0开始的。

常用函数

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)    设置单元格列的高度
#创建qtablewidget对象
self.tableWidget = QtWidgets.QTableWidget(widget)

#设置表格行数,列数
self.tableWidget.setColumnCount(4)  #列
self.tableWidget.setRowCount(3)     #行


#设置列标题、行标题
self.tableWidget.setHorizontalHeaderLabels(['id','name'])  #列
self.tableWidget.setVerticalHeaderLabels(['1','2'])    #行


#表格横向可伸缩
self.tableWidget.horizontalHeader().setSectionResizeMode(QHeaderView.Stretch)

#表格只读,用户双击不可编辑
self.tableWidget.setEditTriggers(QAbstractItemView.NoEditTriggers)


#表格加载内容
for i in range(len(items)):
      item = items[i]
      ow = 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)

#表格标题字体加粗
font = self.tableWidget.horizontalHeader().font()
font.setBold(True)
self.tableWidget.horizontalHeader().setFont(font)


#设置单元格字体颜色和背景颜色
for i in range(len(items)):
    each_item = items[i]
    row = self.tableWidget.rowCount()
    self.tableWidget.insertRow(row)
    for j in range(len(each_item)):
        item = QTableWidgetItem(str(items[i][j]))
        if j != len(each_item) -1:
            item.setTextAlignment(Qt.AlignHCenter | Qt.AlignVCenter)
            item.setForeground(QBrush(QColor(255,0,0)))  #设置除最后一列外的文字颜色为红色
        else:
            item.setBackground(QBrush(QColor(0,255,0)))  #设置最后一列的背景色为绿色
        self.tableWidget.setItem(row,j,item)

参考链接:

[ PyQt入门教程 ] PyQt5中数据表格控件QTableWidget使用方法 - 锅边糊 - 博客园 (cnblogs.com) 

 

  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

白日梦想家_胖七七

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值