首先感谢@飞扬青云 大佬的源代码,让我在学习QT的时候有了大量的练习项目
问题描述
在大佬的gitee库中,有个叫movewidget的小项目,利用eventfilter注册的方式为控件添加了可拖拽移动的属性,但本人在利用这个特性实现控件拖拽的时候就出问题了,就像这样:
本来想做出两个网络节点连接,其间的连接链路实时跟随节点位置改变的效果,但是节点拖动的时候就出现链路刷新的问题了,如果拖拽节点围绕另一个节点绕一个圈,会发现是这样的:
可以看到连接链路的角度其实一直都在变,而且方向大致是对的,说明链路也确实一直在刷新,但是画布上的链路一直都不刷新,而且还会拖拽出一些点点点…只要停止拖拽,链路马上变得笔直笔直,多余的点点点也不见了,一切恢复正常,就仿佛这个拖拽过程什么都没发生一样。
实现原理
画布
ES1和SW1均为节点控件(QWidge