个人向从零pyqt5项目:day7

早就写好了一直放在草稿里忘了发…

可以在表格中修改数据

终于迎来的快要结束的日子,虽然记录只记录了七天,但是拖拖拉拉也是好久,包括去除了一些查资料的时间,今天的目标是能检测qtableview手动修改的内容,找了属实有几天。最开始一直是在纠结怎么用python把c++qt的connet写成python的.datachanged.connect(函数)的样子,并且已经找到了是QStandardItemModel类的函数,但是一直没找到信号和槽的链接方案。

最后还是在我经常搜索能碰到但是一直没关注的老猿那里找到了解决方案:重写QStandardItemModel的setData函数,经过测试,只有在双击修改(也可能双击后未修改)的时候才会调用到setData函数,而最开始的设置只需要用setItem就好了,并不会初始化的时候不停调用,这也解决了我觉得connect之后会遇到的问题。

#index.row() 行
#index.column() 列
#index.data() 旧数据
#value 新数据

然后就是控制每种类型输入的规定,如果修改的不符合规则那么输出如下代码:

msg_box = QMessageBox(QMessageBox.Warning,'警告','修改不符合标准')
msg_box.exec_()
return super().setData(index, index.data(), role)
#相当于调用了setData函数但是新值=旧值

修改数据的规范

既然甲方可以修改任何数据,那就得考虑到使用者会遇到的任何极端情况。

这时候发现我的缴费之前写的是一个列表来记录缴费次数并不是那么的好,所以重写了一下底层架构,把缴费两次用字典来表示,不用在字典里套列表。

后来又想,我之前用学号+姓名判断是否为同一个人是否不太好,应该就只用学号,但是写到这实在是不愿意改了,顺其自然吧。

写了150行的数据修改规范,真的是晚饭都要吐出来。

打包命令
pyinstaller -F -w main.py

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值