[PyQt5] QTableWidget 的总结与归纳(转载)
这几天用ableWidget
用得很多,查了很多资料,发现大多数都不是很全,有时候查资料查得很辛苦;
另一方面,以防以后自己忘了这些知识,所以在这里就把我所接触到的,所看到的都归纳在这里。
简介
首先QTableWidget
是继承于QTableView
,QTableWidget
是QT
程序中常用的显示数据表格的空间;
它跟QTableView
的主要区别是QTableView
可以使用自定义的数据模型来显示内容(也就是先要通过setModel
来绑定数据源),而QTableWidget
则只能使用标准的数据模型,并且其单元格数据是通过QTableWidgetItem
的对象来实现的(也就是不需要数据源,将逐个单元格的信息填好即可。
这主要是因为QTableView
内的setModel
成员函数在QTableWidget
类中成了私有成员
,所以QTableWidget
只能依赖于QTableWidgetItem
。QTableWidgetItem
用来填充表格
中的一个单元格
,整个表格
都需要逐个单元格
逐个单元格
地构建起来。
然后我们就来看看QTableWidget
中常用的方法。
首先生成一个
MyTable=QTableWidget()
设置列数:
MyTable.setColumnCount(3)
设置行数:
MyTable.setRowCount(4)
设置默认列宽:
myTable.horizontalHeader().setDefaultSectionSize(200)
设置默认行高:
myTable.verticalHeader().setDefaultSectionSize(300)
设置某一列宽:
myTable.horizontalHeader().resizeSection(0,300) #设置第一列的宽度
设置某一行高:
myTable.verticalHeader().resizeSection(0,500) #设置第一行的高度
设置横向表头的高度:
myTable.horizontalHeader().setFixedHeight(100),且只能用该类方法设置横向表头的高度,
设置纵向表头的宽度:
myTable.verticalHeader().setFixedWidth(300) ,且只能用该类方法设置纵向表头的宽度
设置表头不可点击:
myTable.verticalHeader().setClickable(False)
设置表头字体加粗:
font=myTable.horizontalHeader().font()
font.setBold(False)
myTable.horizontalHeader().setFont(font) 是指整个横向表头
设置表头不塌陷:
myTable.horizontalHeader().setHighlightSections(False)
设置表头内某个元素的颜色:
item=myTable.horizontalHeaderItem(1)
item.setTextColor(QColor("red")) ,设置横向表头第二个元素的颜色
设置表头内某个元素的字体加粗:
font=QFont()
font.setBold(True)
item=myTable.horizontalHeaderItem(0)
item.setFont(font), 设置横向表头第一个元素的字体加粗
设置表头内容:
list=[u'宝贝',u'日子',u'多个',u'话费']
myTable.setHorizontalHeaderLabels(list)
设置隐藏表头:
myTable.horizontalHeader().setVisible(False)
设置表格外部无边框:
myTable.setFrameShape(QFrame.Box)
设置不显示格子线:
myTable.setShowGrid(False)
设置表格的编辑属性:
QAbstractItemView.NoEditTriggers:不可编辑
QAbstractItemView.CurrentChanged:改变了即可编辑
QAbstractItemView.DoubleClicked:连续双击即可编辑
QAbstractItemView.SelectedClicked:在被选中的情况下单击一次即可编辑
QAbstractItemView.EditKeyPressed:在按下平台的编辑键那个项目上即可编辑
选择时每次选择一行:
myTable.setSelectionBehavior(QAbstractItemView.SelectRows),
也可以设置参数为SelectColumns,这样就会选择一列。
选择表格模式:
myTable.setSelectionMode(QAbstractItemView.ExtendedSelection)
今天先写到这里,明天有时间再继续更
然而并没有再更新.....
————————————————
版权声明:本文为CSDN博主「chen_you_Nick」的原创文章,遵循 CC 4.0 BY-SA
版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/f156207495/article/d...
本作品采用《CC 协议》,转载必须注明作者和本文链接
推荐文章: