1、首先实例化QTableWidget对象,
self.tableWidget = QtWidgets.QTableWidget(self)
2、设计表格的行数和列数,以及绝对定位,当然你也可以根据自己的需求进行排版
self.tableWidget.setGeometry(QtCore.QRect(40, 100, 447, 268))
self.tableWidget.setObjectName("tableWidget")
self.tableWidget.setColumnCount(4)
self.tableWidget.setRowCount(8) # 8行4列
3、分别设置表格首行和首列的标题
1、使用setHorizontalHeaderItem和setVerticalHeaderItem设置,设置比较麻烦,有几个标题需要写几个
self.tableWidget.setHorizontalHeaderItem(0,QTableWidgetItem('第一列'))# 垂直标题
self.tableWidget.setVerticalHeaderItem(0, QTableWidgetItem('第一行'))# 水平标题
2、使用使用setHorizontalHeaderLabels和setVerticalHeaderLabels,设置标题方便,推荐
self.tableWidget.setHorizontalHeaderLabels(('第一列','第二列'))# 括号中为Iterable对象,即可迭代,其中可以为列表[],元组(),集合{}
self.tableWidget.setVerticalHeaderLabels(('第一行', '第二行'))# 这里使用元组,有几行或者几列,元组内有几个字符串
4、设置表格中的内容,并且使内容居中
self.tableWidget.setItem(0, 0, QTableWidgetItem(str(query.value(8))))# 位置为第0行,第0列,后面为QTableWidgetItem对象,可以为str类型,int类型
self.tableWidget.setItem(0, 1, QTableWidgetItem('板载温度').setTextAlignment(Qt.AlignCenter))# 调用setTextAlignment()方法,设置文本居中显示
self.tableWidget.setItem(0, 2, QTableWidgetItem(int(query.value(4))))
5、更改列宽或者行高
self.tableWidget.setColumnWidth(3,130) # 设置table表格第4列的宽度,130为宽度
self.tableWidget.setRowHeight(3,130)# 设置table表格第4行的高度
6、插入一列或者一行
self.tableWidget.insertColumn(0) #插入到第一列
self.tableWidget.insertRow(0) #插入到第一行
1、首先实例化QTableWidget对象,self.tableWidget = QtWidgets.QTableWidget(self)2、设计表格的行数和列数,以及绝对定位,当然你也可以根据自己的需求进行排版self.tableWidget.setGeometry(QtCore.QRect(40, 100, 447, 268))self.tableWidget.setObje...
QTableWidget介绍
QTableWidget是Qt程序中常用的显示数据表格的控件,类似于c#中的DataGrid。QTableWidget是QTableView的子类,它使用标准的数据模型,并且其单元数据是通过QTableWidgetItem对象来实现的,使用QTableWidget时就需要QTableWidgetItem。用来表示表格中的一个单元格,整个表格就是用各个单元格构建起来的
QTableWidget类中的常用方法
#python代码
table=MainWindow_ui.tableWidget_2
table.setItem(i,0,QtWidgets.QTableWidgetItem(str(jcb.Name)))
发现数据并不是想象中跟线程运行那样实时的,要点一下才能显示出数据来
并且还会出现一些问题
为了做出对比,我将作业名的表格填写改成table.setItem的方式,其他格子用信号量机制,可以很清楚的看到问题所在!!!!
核心是要通过qt的槽函数来发射信
QTableWidget批量添加数据、批量添加控件、分页跳转、定位到指定行、添加/插入/删除行的功能实现;
批量添加QLable控件,制作LED指示灯,使用定时器,让LED红绿交替闪烁(3中闪烁形式);
批量添加QPushButton控件,实现“打开”/“关闭”的切换;
批量添加QCheckBox控件,实现“选中”/“未选中”的切换;
表格分页,上一页、下一页、首页、尾页、跳转操作;
通过滚动条定位到指定行;
QTableWidget中添加/插入/删除行;...
项目场景:
在项目开发过程
中,比如报警信息的显示,如果将所有的报警信息都
添加至布局内,再以
控件隐藏与显示的方式进行报警,这种方法无疑是最简单的,但是如果报警种类过多,但往往需要显示的很少,在界面里面去一个个拖
控件或者代码
添加都太麻烦,这就需要
动态添加与删除了!
问题描述:
就以下图为例吧:
因为电池电芯不固定,可能是8芯可能是16芯,所以1、2、3部分都是
动态更新的。
且都使用了groupbox容器,不同的是1、2放置formlayout布局,3放置gridlayout布局。
动态添加
比如当前有一个表格对象ws1, 现在向表格中添加内容:
list3 = ['故人西辞黄鹤楼, 烟花三月下扬州', '忽如一夜春风来, 千树万树梨花开']
for i in lsit :
ws1. setItem(0, list.index(i), QTablewidgetItem(i))
执行后显示为:
如果需要将内容显示完整, 需要在代码后加上:
for i in lsit :
ws1. setItem(0, list.index(i), QTablewidgetItem(i))
ws1.res
在创建好表格后,首先需要在Qt Designer拖出来三个QPushButton按钮,分别设置对象名为:AddButton,DeleteButton,DeleteAllButton。
#pragma once
#include <QMainWindow>
namespace Ui { class MainWindow; }
class MainWindow : public QMainWindow
Q_OBJECT
public:
MainWindo
qtableWidge
中的行和列是从0开始的
***************
self.tableWidget.itemClicked.connect(self.outSelect)#单击获取单元格
中的内容
def outSelect(self, Item=None):
if Item==...
QTableWidget是一个用来显示表格数据的小部件。如果你想让QTableWidget可以拉伸,可以使用setHorizontalHeaderSectionsResizeMode()方法和setVerticalHeaderSectionsResizeMode()方法。
示例代码:
table = QTableWidget()
table.setHorizontalHeaderSectionsResizeMode(QHeaderView.Stretch)
table.setVerticalHeaderSectionsResizeMode(QHeaderView.Stretch)
这样就可以让QTableWidget可以水平和垂直方向上拉伸了。