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

1、行数rowCount

QTableWidget的rowCount属性保存表格部件中的行数,在QTableWidget创建时如果没有指定行数,则缺省行数为0,QTableWidget创建后可以通过 setRowCount方法调整行数。

要获取当前表格部件中的行数,可以通过rowCount()方法获取,要设置表格部件的行数,可以通过setRowCount(int rows)调整表格的行数,如果参数rows小于现在表格中的实际行数,则表格中超出参数的行数数据会丢弃,就算是后面将行数或列数恢复也不能恢复相关数据。

2、列数columnCount

columnCount属性保存表格部件中的列数,相关属性和操作方法和rowCount类似。在QTableWidget创建时如果没有指定列数,则缺省列数为0,QTableWidget创建后可以通过 setColumnCount方法调整。

columnCount可以通过columnCount()方法获取,通过setColumnCount(int columns)设置。

3、当前项访问方法

当前项是指当前鼠标和键盘焦点所在项,在项可以进行选择操作时,当前项可以是选中状态,也可以是未选中状态,选中项也不一定是当前项。与当前项相关的方法包括:

  • QTableWidgetItem currentItem() :返回当前项对应项对象,如果没有当前项则返回None
  • setCurrentItem(QTableWidgetItem item):设置当前项
  • setCurrentItem(QTableWidgetItem item, QItemSelectionModel.SelectionFlags command):设置当前项
  • setCurrentCell(int row, int column):设置当前项
  • setCurrentCell(int row, int column, QItemSelectionModel.SelectionFlags command):设置当前项
注意:
  1. 后面4个方法都是设置当前项,方法名为setCurrentItem的参数是QTableWidgetItem实例,方法名为setCurrentCell的参数是行和列,即这两类方法依据的项定位方法不同
  2. 参数中带command参数的,要求除了将当前项改为参数确认的项之外,还要求有额外的响应,具体响应由command参数确认。关于QItemSelectionModel.SelectionFlags 请参考《PyQt(Python+Qt)学习随笔:Mode/View中的枚举类QItemSelectionModel.SelectionFlag取值及含义》;
  3. 设置当前项的方法无返回值,如果设置失败(如指定参数项在部件中不存在)是无法直接判断的,如果设置成功,会触发QTableWidget部件发射信号currentItemChanged和currentCellChanged信号以及currentChanged信号,这三个信号都表示当前项改变了,只是信号签名不一样(关于信号签名请见《PyQt(Python+Qt)学习随笔:信号签名(signature of the signal)是什么?》)。其中前2个信号是表格部件自身的信号,currentChanged信号是表格部件父类QTableView的信号。
  4. 如果当前项没有,则currentItem()方法返回None

4、当前行和列访问方法

当前项所在的行和列,既可以通过当前项的QTableWidgetItem实例对象的行号(row()方法)和列号(column()方法)获取,也可以直接通过QTableWidget获取。调用语法如下:

  • int currentColumn()
  • int currentRow()

    如果部件没有当前项,则上述两个方法返回-1。

老猿Python,跟老猿学Python!

PyQt(Python+Qt)学习随笔:QTableWidget的currentItem、rowCount、columnCount等部件状态属性访问方法的更多相关文章

  1. PyQt(Python+Qt)学习随笔:QAbstractScrollArea的sizeAdjustPolicy、horizontalScrollBarPolicy、verticalScrollB属性

    老猿Python博文目录 老猿Python博客地址 Qt Designer中QAbstractScrollArea包括三个属性,分别是horizontalScrollBarPolicy.vertica ...

  2. PyQt(Python+Qt)学习随笔:使用QColorDialog.getColor交互设置部件的颜色

    专栏:Python基础教程目录 专栏:使用PyQt开发图形界面Python应用 专栏:PyQt入门学习 老猿Python博文目录 PyQt中的部件只要是QWidget的派生类都可以在Designer或 ...

  3. PyQt(Python+Qt)学习随笔:Designer(设计师)中部件属性编辑的cursor(光标样式)属性

    部件(又称为组件或控件)的cursor属性保存该部件的鼠标光标形状,当鼠标位于该部件上时就会呈现该属性设置的光标形状,对应类型为枚举类型Qt.CursorShape,可取值的范围可以在Qt文档官网:h ...

  4. PyQt(Python+Qt)学习随笔:Designer中PushButton按钮default、atuoDefault属性

    引言 1.default.atuoDefault属性仅在父窗口为对话窗才生效,其他窗口类型设置这两个属性没有意义: 2.按钮的按压触发除了鼠标键之外,也可以使用回车键和空格键触发,这两个属性正是控制回 ...

  5. PyQt(Python+Qt)学习随笔:利用QWidget部件的palette以及ColorGroup、colorRole局部调整部件的特定范围颜色

    专栏:Python基础教程目录 专栏:使用PyQt开发图形界面Python应用 专栏:PyQt入门学习 老猿Python博文目录 在<PyQt(Python+Qt)学习随笔:QWidget部件的 ...

  6. PyQt(Python+Qt)学习随笔:视图中类QAbstractItemView的dragDropOverwriteMode属性不能覆盖写的问题

    老猿Python博文目录 专栏:使用PyQt开发图形界面Python应用 老猿Python博客地址 在<PyQt(Python+Qt)学习随笔:视图中类QAbstractItemView的dra ...

  7. PyQt(Python+Qt)学习随笔:视图中类QAbstractItemView的dragDropOverwriteMode属性

    老猿Python博文目录 老猿Python博客地址 一.属性的作用 dragDropOverwriteMode属性用于控制视图的拖放行为,如果其值为True,则视图中选定的数据将在拖拽数据放下时被覆盖 ...

  8. PyQt(Python+Qt)学习随笔:视图中的dragDropMode属性对dragEnabled和acceptDrops属性的影响

    老猿Python博文目录 老猿Python博客地址 在<PyQt(Python+Qt)学习随笔:QAbstractItemView的dragEnabled和dragDropMode属性的关系&g ...

  9. PyQt(Python+Qt)学习随笔:QAbstractItemView的dragEnabled和dragDropMode属性的关系

    老猿Python博文目录 老猿Python博客地址 在<PyQt(Python+Qt)学习随笔:QAbstractItemView的dragEnabled属性的困惑>中,老猿觉得dragE ...

随机推荐

  1. leetcode103:permutations-ii

    题目描述 给出一组可能包含重复项的数字,返回该组数字的所有排列 例如: [1,1,2]的排列如下: [1,1,2],[1,2,1], [2,1,1]. Given a collection of nu ...

  2. 英特尔与 Facebook 合作采用第三代英特尔® 至强® 可扩展处理器和支持 BFloat16 加速的英特尔® 深度学习加速技术,提高 PyTorch 性能

    英特尔与 Facebook 曾联手合作,在多卡训练工作负载中验证了 BFloat16 (BF16) 的优势:在不修改训练超参数的情况下,BFloat16 与单精度 32 位浮点数 (FP32) 得到了 ...

  3. 使用@Validated校验数据(除数据库做辅助)

    一.controller层 /** * 使用@Validated来进行校验 * @author HuangJingNa * @date 2019年12月23日 下午6:02:20 * * @param ...

  4. rbd的image对象数与能写入文件数的关系

    前言 收到一个问题如下: 一个300TB 的RBD,只有7800万的objects,如果存储小文件的话,感觉不够用 对于这个问题,我原来的理解是:对象默认设置的大小是4M一个,存储下去的数据,如果小于 ...

  5. [原题复现]BJDCTF2020 WEB部分全部解

    简介  原题复现:https://gitee.com/xiaohua1998/BJDCTF2020_January  线上平台:https://buuoj.cn(北京联合大学公开的CTF平台) 榆林学 ...

  6. html图片拖放

    <!DOCTYPE HTML> <html> <head> <meta charset="utf-8"> <title> ...

  7. MathType如何打出带圆圈的点

    学习了圆的知识后,知道可以用带圆圈的点表示圆,比如"⊙O"表示圆O,即圆心为O的圆.那么要怎么在MathType中打出带圆圈的点? 方法一.直接在工具栏上选择输入 打开MathTy ...

  8. 解决Tuxera NTFS for Mac软件安装问题

    在听到小凡的电话说"Tuxera NTFS for Mac软件安装失败,怎么办"的时候,小编心里真像有一万头草泥马在奔腾--苹果软件还能安装失败!? 挥手把一万头草泥马赶走,脑补着 ...

  9. 思维导图软件iMindMap的使用方法

    从手绘的思维导图再到各种各样的思维导图的软件,思维导图的高效性大家都体会到了.思维导图软件iMindMap在众多导图软件中是最受欢迎的之一,下面就给大家分享一下思维导图怎么画: 首先我要教给大家的是如 ...

  10. nginx学习http_auth_basic_module模块

    对2.html页面做授权操作 先进行账号密码的生成  使用  htpasswd -c /etc/nginx/auth_conf  用户名 输入2次密码 (如果没有htpasswd,可以使用yum  - ...