PyQt学习随笔:QTableWidget的selectedRanges、setRangeSelected访问选中矩形范围的方法

QTableWidget多选selectedItems和selectedRanges的使用和区别   QTableWidget是QT程序中,常用的显示数据表格控件,其用法也不再赘述,这里就说一说多选接口的使用方法,区别和问题。   首先,表格支持多选(Ctrl、Shift、 Ctrl+A都可以),需要对表格进行属性设置: setSelectionMode(QAbstractItemView::ExtendedSelection);   另外,还可以对选中模式进行设置,比如选中时,默认... 阅读详情

在QTableWidget对项的操作支持选中多个项的情况下,可以通过方法selectedRanges返回选中矩形的列表,通过方法setRangeSelected将指定矩形范围的项选中或去选中。相关方法调用语法如下:

  • list[QTableWidgetSelectionRange] selectedRanges()
  • setRangeSelected( QTableWidgetSelectionRange range, bool select)
注:
案例:

为了说明矩形内的项是逻辑项连续,我们来看一个案例:
在这里插入图片描述
上图中的行3和行4通过如下语句交互了可见位置,同时设定选择范围为(1,1)->(2,2):

self.tableWidget.verticalHeader().moveSection(3,2) #将第4行移动到第3行
rect = QtWidgets.QTableWidgetSelectionRange(1, 1, 2, 2) #定义矩形范围为逻辑行为1,列为1(即第二行第二列)到第3逻辑行3逻辑列的项
self.tableWidget.setRangeSelected(rect, True)

通过范围选择后,选中的范围从界面上看却不是连续的,但实际上逻辑项是连续的。

我们通过如下语句输出选中范围:

 def showSelectRect(self):
     selectRect = self.tableWidget.selectedRanges()
     for r in selectRect:
         print(f'({r.topRow()},{r.leftColumn()})-->({r.bottomRow()},{r.rightColumn()})')

针对上图输出的信息如下:

(1,1)-->(2,2)

如果针对上图通过鼠标改变选中范围,如图:
在这里插入图片描述
界面上看起来可见项是连续的,输出矩形选中范围结果如下:

(1,1)-->(1,2)
(3,1)-->(3,2)

显示为两个矩形,不是连续的范围。

老猿Python,跟老猿学Python!

C++坦克大战源代码 【代码】C++坦克大战源代码。 阅读详情

相关推荐

Android TV开发:RecyclerView焦点控制实践与优化

在Android TV应用开发中,焦点控制是提升用户体验的关键技术。不同于移动端触摸交互,TV端通过遥控器方向键导航,需要精确的焦点管理机制。RecyclerView作为动态列表的核心组件,其焦点控制涉及视图复用、导航逻辑和视觉反馈等核心技术点。通过合理配置focusable属性、自定义焦点查找算法以及优化动画性能,开发者可以解决TV端常见的焦点跳转异常、视觉反馈延迟等问题。特别是在视频点播、智能家居控制等场景中,良好的焦点控制能显著提升操作效率。本文结合网格布局焦点环绕、分页加载焦点保持等实战案例,深入解

weixin_34195142的博客 469

QTableWidgetSelectionRange

QTableWidgetSelectionRange类提供一个相互交流的方式选择模型中不使用模型索引和选择模型。更多… #include 所有成员的列表,包括继承的成员 公共函数   QTableWidgetSelectionRange ()   QTableWidgetSelectionRange(int,int,int,int

yangchuankai's blog 2977

机器视觉最全面试题总结

空洞卷积(Atrous Convolution)也叫做膨胀卷积、扩张卷积,最初的提出是为了解决图像分割在用下采样(池化、卷积)增加感受野时带来的特征图缩小,后再上采样回去时造成的精度上的损失。空洞卷积通过引入了一个扩张率的超参数,该参数定义了卷积核处理数据时各值的间距。可以在增加感受野的同时保持特征图的尺寸不变,从而代替下采样和上采样a. 是普通的卷积过程(dilation rate = 1),卷积后的感受野为3b. 是dilation rate = 2的空洞卷积,卷积后的感受野为5。

@bangbang的博客 9210

QTableWidget的selectedRanges()方法的理解

QList<QTableWidgetSelectionRange> QTableWidget::selectedRanges() const 这是该方法的声明,返回的是QTableWidgetSelectionRange的集合,QTableWidgetSelectionRange的leftColumn()返回的是所选区域最左边的一列的索引。 比如,像下图这样的,left就是1,...

liangshui999的博客 4119

数学文化赏析MOOC笔记【2023】

深圳大学UOOC课程《数学文化赏析》课程笔记

simplenthpower的博客 1751

Python + OpenCV 计算视频中运动最慢小球的坐标验证码

本文提出一种基于Python和OpenCV的视频分析方法,用于检测多个运动小球中最慢运动目标的坐标。方法主要包括:1) 通过背景差分和形态学处理提取运动前景;2) 基于轮廓面积和圆形度筛选候选小球;3) 利用图像矩计算小球质心坐标;4) 通过近邻关联构建运动轨迹;5) 根据轨迹平均速度确定最慢目标。该方法能有效处理包含线条干扰和静态大圆干扰的背景,稳定输出最慢小球的中心坐标。实验结果表明,该方法能准确识别运动最慢的小球并定位其位置。

码王吴彦祖的博客 114

[QT_011]Qt学习之QTableWidget的 表头 和 选中区域

Qt学习之QTableWidget的 表头 和 选中区域

kongcheng253的博客 1万+

小工匠聊架构-分布式场景下的并发幂等性常见的解决方案

Pre 我们来回顾下单体时代 单体时代,应用部署在一台主机上,可以使用JVM级别的锁来控制并发请求 。 随着应用规模的不断扩大,集群化或者微服务化的分布式部署越来越普及,每个应用都是一个单独的JVM应用,所以单体时代的这种处理方式已经无法满足当前架构下的业务需求了。 JVM级别的锁已经无法满足跨进程之间访问控制了,进而演化出来了分布式锁。 分布式锁 能否解决幂等性问题? 分布式锁解决什么问题? 简言之: 解决跨进程间无法共享本地资源的问题 ,解决的是分布式场景下并发访问的问题。 为什么需要确保并发.

小工匠 2万+

Qt QtableWidget、QtableView表格删除选中行、删除单行、删除多行

QTableWidgetSelectionRange是Qt框架中用于表示QTableWidget中选定的一块单元格区域的类。获取当前选定的单元格区域:获取第一个选定的单元格区域的起始行、起始列、行数和列数

mirana的专栏 9328

《Python入门到精通》函数详解

函数就是一段「封装」起来的「代码」,目的是提高代码的「模块性」和「复用性」。 2、函数的参数 2.1、变量的就近原则 2.2、传递参数 2.3、形参和实参 2.4、位置参数 2.5、缺省参数 2.6、可变类型和不可变类型 2.7、关键字参数 3、匿名函数 4、函数的返回值

wangyuxiang946的博客 1万+

在Centos上从零开始部署并运行TinyWebServer服务器,过程记录(非常详细)

TinyWebServer是个什么项目?它是Linux下C++轻量级Web服务器,助力初学者快速实践网络编程,搭建属于自己的服务器。使用线程池+非阻塞socket+epoll(ET和LT均实现) +事件处理(Reactor和模拟Proactor均实现) 的并发模型使用状态机解析HTTP请求报文,支持解析GET和POST请求访问服务器数据库实现web端用户注册、登录功能,可以请求服务器图片和视频文件实现同步/异步日志系统,记录服务器运行状态。......

AnChenliang_1002的博客 3021

关于QTableWidget的selectRange

QTableWidget 有一个容易出错崩溃的地方:在删除行的时候,行是在动态更新的,比如共有五行,删除第四行后,再删除第五行的时候肯定会崩溃,所以要从索引最大行开始删除; 另外一个qtablewidget有一个接口返回选择行号的范围,也有一个容易出错的地方: QListQTableWidgetSelectionRange> ranges = ui->tableWidget->selec

jiaoyaziyang的专栏 2033

【网络】叶脊(Spine-Leaf)网络拓扑下全三层网络设计与实践(二) - 网络规划

2. 全三层架构设计思路 采用全三层网络架构设计的出发点是: 使用尽量少的交换机高级功能,可以尽可能减少由于功能bug故障造成的问题; 使用尽量少的网络协议,以兼容不通厂商的网络设备 实现简单,易于维护,绝对可靠的路由协议; 通过控制路由来调度流量,尽量减少设备或协议的故障域; 牺牲高级功能带来的便捷,得到更高的可用性和性能; 由上述原则,本文的设计选择只使用静态路由和BGP...

因吹斯汀 1万+

QTableWidgetSelectionRange Class

Header:#include < QTableWidgetSelectionRange > qmake:QT += widgets

weixin_43446462的博客 335

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

24. [Python GUI] PyQt5中的模型与视图框架-表格部件QTableWidget

QTableWidget 类继承自 QTableView,该类是一个由 Qt 实现的标准的表格部件,该类的数据项由 QTableWidgetItem 类管理。当前单元格(或当前项目)与当前索引或当前选择是相同的,即可以同时选择多个单元格,但只能有一个当前单元格,当编辑单元格时,只会编辑当前单元格。当前单元格通常具有焦点边框。单元格和项目的区别(重要概念): 项目是指 QTableWidgetItem 类的对象,因此空单元格是不含有项目的。当在空单元格上单击鼠标时,会发送 cellClicked()信号,但不

hubing_hust的专栏 1万+

SAP B1中文培訓教材_SDK

公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说

QTableWidget获取行号

QTableWidget获取当前所选择的行号 QTableWidget 在qtablewidget中获取当前选定行号的方法: 方法一:通过QList QTableWidget::SelectedRanges()获取当前选定的范围,然后根据所选范围的起止进行行号判断。 方法二:通过cellClicked(int,int)信号先获取当前鼠标点击单元格坐标,然后判断所在行号,该方法在设定表格每次选择一整行时,效果更好。 以下为部分核心代码: ui.tableWidget->setSelectionBehav

weixin_39935783的博客 6691

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

QTableWidget控件使用总结

QTableWidget介绍 QTbaleWidget是QT对话框设计中常用的显示数据表格的控件。 学习QTableWidget就要首先看看QTableView控件(控件也是有”家世“的!就像研究人一样一样的),因为QTableWidget继承于类QTableView。 两者主要区别是QTableView可以使用自定义的数据模型来显示内容(也就意味着使用时先要通过setModel来绑

OSKernelLAB(gatieme) 2万+

c++ QTableWidget整行且单行选择,并添加行选择的函数链接

c++ QTableWidget整行且单行选择,并添加行选择的函数链接

xie__jin__cheng的博客 2677

PyQt6 优化操作:QTableWidget 增加右键菜单,支持对选中区域内容的复制、粘贴、清空、插入、删除、设置对齐方式等操作

PyQt6 优化操作:QTableWidget 增加右键菜单,支持对选中区域内容的复制、粘贴、清空、插入、删除操作

AbigailQin 的博客 4694

PyQt学习随笔:QTableWidget的visualRow、visualColumn、logicalRow、logicalColumn(可见行、逻辑行、可见列、逻辑列)相关概念及方法探究

老猿Python博文目录 专栏:使用PyQt开发图形界面Python应用 老猿Python博客地址 一、概念 关于逻辑行logicalRow、列logicalColumn和可见行visualRow、列visualColumn的概念,在QTableWidget中没有介绍,老猿查了比较多的资料,并经过验证,最终才搞清楚相关概念。这里有几个关键点要说明一下: 逻辑行和逻辑列是指项本身在部件中存储数...

老猿Python 2142

QTableWidget实现复制粘贴(初步修正)

Qt 使用槽函数对表格进行复制和粘贴

ken2232的博客 3545

tablewidet中自动聚焦到下一行

在Qtablewidet中自动聚焦到下一行 用到的函数: QTableWidgetSelectionRange::QTableWidgetSelectionRange ( int top, int left, int bottom, int right ) vo

qtcreatorlinux的专栏 1527

pyqt5实现框选动画,框选结束时框图自动消失

pyqt5实现框选动画,框选结束时框图自动消失

m0_57236802的博客 952

Qt: QTableWidget全选与全不选

Qt开发,表格控件QTableWidget有时需要全选,或者全不选,代码怎么写呢?研究一番,找到了方法: 效果:全选:全不选: 参考:https://doc.qt.io/qt-5/qtablewidgetselectionrange.html

小鹰信息技术服务部 2376

PyQt(Python+Qt)入门:Designer组件属性编辑界面中QWidget类相关属性详解

一、引言 本文适用人员:本文比较长,适合不理解Qt Designer部件属性的人员阅读或资料查找。 声明:如果有人认为本文是复制粘贴+翻译而成的,敬请读本文最后的后记。 在Qt Designer中,提供了八大类可视化组件(也称为组件或控件,下同),分别为布局组件(Layouts)、分隔组件(Spacers)、按钮组件(Buttons)、表项视图(item views)、表项组件(item widg...

老猿Python 1万+

PyQt5图形和特效之窗口风格(一)

设置窗口风格 可以为每个QWidget都设置风格 setStyle(QStyle style) 1 获取当前平台支持的原有的QStyle样式 QstyleFactory.keys() 1 对QApplication设置QStyle样式 QApplication.setStyle(QStyleFactory.create('WindowsXP')) 1 如果其他Widget没有设置QStyle,默认使用QApplication设置的style 实例:设置窗口风格 import sys from PyQt

李肖遥的专栏 1341
上一篇: PyQt学习随笔:QTableWidget的visualRow、visualColumn、logicalRow、logicalColumn(可见行、逻辑行、可见列、逻辑列)相关概念及方法探究
下一篇: PyQt学习随笔:QTableWidget水平表头horizontalHeader、竖直表头verticalHeader的相关操作方法
LaoYuanPython
LaoYuanPython 2020年博客之星Top3 2020年博客之星Top3 领域专家: Python技术领域 领域专家: Python技术领域
博客等级 码龄8年 15万+粉丝 1324原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

LaoYuanPython

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值