这几天用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)

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

PyQt的QTableWidget的全面总结与归纳相关推荐

  1. PyQT中QTableWidget根据单元格内容设置自动宽度

    比如当前有一个表格对象ws1, 现在向表格中添加内容: list = ['故人西辞黄鹤楼, 烟花三月下扬州', '忽如一夜春风来, 千树万树梨花开'] for i in lsit :ws1. setI ...

  2. Pyqt清空Win回收站

    Pyqt清空回收站其实的调用Python的第三方库,通过第三方库调用windows的api删除回收站的数据 一. 准备工作 先下载第三方库winshell 下载地址: https://github.c ...

  3. PyQt QTableWidget 表格控件的使用

    PyQT开发图形界面应用时,可用 QTableWidget 控件,以表格方式直观地显示二维表格形状的数据,如列表,数组.pandas DataFrame等. 如果你想用表格方式直接显示并操作数据库表时 ...

  4. PYQT之表格控件QTableWidget复杂表头(多行表头) 及冻结行的简单方法

    PYQT之表格控件QTableWidget复杂表头(多行表头) 及冻结行的简单方法 表格需要用到复杂表头,查了好久觉得方法不是过于麻烦就是不符合表格要求,经过多方综合,总结超简单方法如下: 1.上下布 ...

  5. PyQt学习随笔:QTableWidget的信号signal简介

    老猿Python博文目录 专栏:使用PyQt开发图形界面Python应用 老猿Python博客地址 QTableWidget非继承自父类的信号如下: cellActivated(int row, in ...

  6. PyQt(Python+Qt)学习随笔:QTableWidget设置项的setItem方法

    老猿Python博文目录 专栏:使用PyQt开发图形界面Python应用 老猿Python博客地址 QTableWidget表格部件中setItem用于在表格部件QTableWidget创建后,设定指 ...

  7. Python Qt GUI设计:QTableView、QListView、QListWidet、QTableWidget、QTreeWidget和QTreeWidgetltem表格和树类(提升篇—1)

    目录 1.QTableView类 2.QListView类 3.QListWidet类 4.QTableWidget类 5.QTreeWidget和QTreeWidgetltem类 表格与树解决的问题 ...

  8. pyqt播放视频不能显示 解决

    pyqt本来播放视频能显示,后来不能显示,最终排查,找到原因: self.setAttribute(Qt.WA_TranslucentBackground, True) 后来查了一下,这句代码的意思是 ...

  9. python rowcount_PyQt(Python+Qt)学习随笔:QTableWidget的currentItem、rowCount、columnCount等部件状态属性访问方法...

    老猿将QTableWidget表格部件中反映部件当前情况的一些方法归类为部件状态访问方法,包括部件的行数.列数.当前项.当前行.当前列等属性访问方法. 1.行数rowCount QTableWidge ...

最新文章

  1. 图像遍历反色处理,遍历多通道图片
  2. 凯明MAE被超越了?字节跳动iBOT刷新十几项SOTA
  3. 计算机算法设计与分析二--分治
  4. 2016 湖南省省赛B题《有向无环图》
  5. 完美解决IE8有两个进程的问题
  6. FreeSql (八)插入数据时指定列
  7. 【Flink】Flink常量UDF-TableFunction优化
  8. Linux 搭建SVN服务器
  9. cocos2dx 简单血量条实现
  10. 一个请求在Struts2框架中的处理的步骤
  11. oracle 回滚空间查询,Oracle回滚段空间回收步骤
  12. 斯特林公式--求n!的位数
  13. C++对象模型——关于对象(第一章)
  14. U盘exe病毒解决方案
  15. word流程图怎么使箭头对齐_word里流程图的直角箭头怎么画
  16. 解决LaTeX中文表格单行文本太长导致水平溢出,表格内长文本换行
  17. LUP分解求解线性方程组及求逆矩阵 java
  18. python之爬虫(十一) 实例爬取上海高级人民法院网开庭公告数据
  19. 联想电脑管家不显示开机时间_联想电脑怎么设置显示开机时间
  20. 怎么做好备件管理?备件管理系统都包括哪些功能模块?

热门文章

  1. 【学习笔记】高等数据基础
  2. 定义交货输出条件类型(Output Types)
  3. ABAP简介以及OpenSQL与NativeSQL的区别
  4. 【转】后勤常用查询报告
  5. ALV标准范例Demo汇总
  6. OBYC中的GBB一般修改的解释
  7. Extjs 4.0.7 中模式窗口的CURD
  8. 更新Oracle的Date字段
  9. 新课标下计算机教学,浅析新课程标准下小学信息技术教学
  10. linux图片添加滤镜,PhotoFlare开源图像和照片编辑器,附在Ubuntu 18.04下的安装方法...