关于pyqt5 TableView控件清空数据的问题

文章讲述了作者在使用Python的PyQt5库开发工具箱时遇到的问题,主要聚焦于如何清空TableView的数据。作者尝试了QStandardItemModel的clear()和removeRows()方法,但发现这些方法并不理想。最终,作者采用了一种迭代单元格并插入空字符串的“曲线救国”方法来视觉上清空数据。此外,文章还提及了代码分离、UI设计(如使用uic.loadUi()的挑战)以及其他开发中遇到的难题。

需求场景

        打算用python开发一款自用的工具箱,目前预设密码本和个人词典功能。因为个人的前端能力有限,所以放弃了基于flask的BS架构,转投pyqt5。但整个过程仍然遇到不少坑。

        这篇文章旨在分享一个pyqt5 TableView控件清空数据的解决方案,同时也向广大网友寻求更优的解法。

 如上图所示,最初的效果明显有问题:预期的效果是每次查询只显示当前条件下的查询结果,但实际却是将查询结果覆盖到了首行。

        因此需要解决的问题就是如何在查询前先清空TableView控件中原有的数据

寻求方案

        网上转了一圈,提供的解决方案无外乎就是从model下手(答案大同小异,有的甚至文案都一模一样...╮(╯▽╰)╭)。

        我使用的是QStandardItemModel,因此就有了QStandardItemModel().clear()和QStandardItemModel().removeRows(row,count)两种方法。两种方法的效果大致相同,不过clear()会连表头一起清理掉(这倒是可以在清理后再设置一次)。实际效果如下:

 这个结果……多少有点一言难尽。这两个方法都会破坏TableVie

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值