PyQt的QTableWidget的全面总结与归纳

这几天用QTableWidget用得很多,查了很多资料,发现大多数都不是很全,有时候查资料查得很辛苦;另一方面,以防以后自己忘了这些知识,所以在这里就把我所接触到的,所看到的都归纳在这里。


首先QTableWidget是继承于QTableView,QTableWidget是QT程序中常用的显示数据表格的空间;它跟QTableView的主要区别是QTableView可以使用自定义的数据模型来显示内容(也就是先要通过setModel来绑定数据源),而QTableWidget则只能使用标准的数据模型,并且其单元格数据是通过QTableWidgetItem的对象来实现的(也就是不需要数据源,将逐个单元格的信息填好即可。这主要是因为QTableView内的setModel成员函数在QTableWidget类中成了私有成员,所以QTableWidget只能依赖于QTableWidgetItem。QTableWidgetItem用来填充表格中的一个单元格,整个表格都需要逐个单元格逐个单元格地构建起来。


然后我们就来看看QTableWidget中常用的方法。

首先生成一个MyTable=QTableWidget()

1.设置表单样式

设置列数: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)

今天先写到这里,明天有时间再继续更


                   


评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值