[PyQt5-Node-Editor][进阶篇]使用Pyqt5制作节点编辑器(24)——修BUG

BUG导航修复各种BUGEdge在多次复制后可能出现消失的显示BUG切割线崩溃BUG当连线连接自己时会崩溃修复各种BUGEdge在多次复制后可能出现消失的显示BUG在缩小放大后Edge又能正常显示需要在node_graphics_edge.py里添加如下代码,让edge能够一直刷新(可能) def boundingRect(self): return self.shape().boundingRect() def shape(self): re
摘要由CSDN通过智能技术生成

BUG千奇百怪,修BUG的方式也千奇百怪

BUG

Edge在多次复制后可能出现消失的显示BUG

在这里插入图片描述

在缩小放大后Edge又能正常显示
需要在
node_graphics_edge.py
里添加如下代码,让edge能够一直刷新(可能)

    def boundingRect(self):
        return self.shape().boundingRect()

    def shape(self):
        return self.updatePath()

切割线崩溃BUG

虽然显示没有问题了,但是在切割线对多个edge进行删除时,程序会崩溃
原因是当edge被删除时,sspos = self.edge.start_socket.position还在被调用(我也不知道为什么会出现这种情况,估计得益于QT的运行机制),此时self.edge.start_socket返回的是None,所以需要添加条件

class QDMGraphicsEdgeBezier(QDMGraphicsEdge):
    def updatePath(self):
        s = self.posSource
        d = self.posDestination
        dist = (d[0] - s[0]) * 0.5

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值