解决PyQt5的tableWidget数据行不能完全删除问题
来源:网络收集 点击: 时间:2024-05-14在写等额本息程序中用到tableWidget控件,用来存放数据
清理数据行采用
rowPosition = self.tablewidget.rowCount()for rP in range(0, rowPosition): self.tablewidget.removeRow(rP)
实现,但是问题出现了

for rP in range(0, rowPosition): self.tablewidget.removeRow(rP)
循环删除,tablewidget 理论上看没问题
但实际上是能清除掉一部分,总是有一部分不能正确清除

经过仔细研究测试。解决方案如下:
采用逆序循环,不能用正序循环!
#这句是关键!range(0, rowPosition) 逆序循环
for rP in range(0, rowPosition):
。。。

小结:
tablewidget控件循环删除已有行,要用逆序range(0, rowPosition)
#先获得总行数 rowPosition
rowPosition = self.tablewidget.rowCount()
#这句是关键!range(0, rowPosition) 逆序循环
for rP in range(0, rowPosition):
self.tablewidget.removeRow(rP)
OK了

需要引入 from PyQt5.QtWidgets import QTableWidget, QTableWidgetItem
range(0, rowPosition) 逆序循环 最关键
版权声明:
1、本文系转载,版权归原作者所有,旨在传递信息,不代表看本站的观点和立场。
2、本站仅提供信息发布平台,不承担相关法律责任。
3、若侵犯您的版权或隐私,请联系本站管理员删除。
4、文章链接:http://www.ff371.cn/art_757832.html