当前位置: 首页 > news >正文

Qt 图形框架下图形拖动后位置跳动问题

在使用Qt 的图形框架QGraphicsScene,QGraphicsView实现图形显示时。遇到一个很棘手的BUG。

使用的图形是自定义的QGraphicsObject的子类。

现象是将图形添加到画布上之后,用鼠标拖动图形,图形能正常改变位置,当再次用鼠标点击图形移动时,图形会自动跳动到初始化的位置,并且画布上其他的图形也会在拖动时自动跳动到意外的位置。

经过分析后查找出问题:

在该QGraphicsObject的子类实现中mouseReleaseEvent的重写中
没有调用父类的 QGraphicsItem::mouseReleaseEvent(event);

结果出现非常诡异的情况
该图形拖动后,第二次拖动时的位置会跳动到初始位置去,
而且其他图形的位置也会发生错误。

图形框架需要通过QGraphicsItem::mouseReleaseEvent(event)来处理图形拖动后的位置信息,如果在重写后的mouseReleaseEvent方法后不去调用父类的方法,这些需要框架去处理的事情就会得不到正确处理。

好吧,请随手点一点全网最强word报告批量自动生成软件QuickReporter!基于模板替换的word文档自动生成_自动生成word文档-CSDN博客

http://www.lryc.cn/news/502634.html

相关文章:

  • 【Linux篇】走进Linux — 开启开源操作系统之旅
  • 如何利用DBeaver配置连接MongoDB和人大金仓数据库
  • Android 车载虚拟化底层技术-Kernel 5.10 -Android12(multi-cards)技术实现
  • Qt之点击鼠标右键创建菜单栏使用(六)
  • 开发一套SDK 第一弹
  • sftp+sshpass
  • 【机器学习与数据挖掘实战】案例01:基于支持向量回归的市财政收入分析
  • Idea实现定时任务
  • Linux 安装NFS共享文件夹
  • bash 判断内存利用率是否高于60%
  • 推送(push)项目到gitlab
  • centos9升级OpenSSH
  • 硬件成本5元-USB串口采集电表数据完整方案-ThingsPanel快速入门
  • 在AWS EMR上用Hive、Spark、Airflow构建一个高效的ETL程序
  • 前端(四)css选择器、css的三大特性
  • vscode 打开 setting.json
  • 关于网络安全攻防演化博弈的研究小议
  • 【FAQ】HarmonyOS SDK 闭源开放能力 —Push Kit(7)
  • 远程桌面防护的几种方式及优缺点分析
  • ASP.NET|日常开发中连接Sqlite数据库详解
  • python的自动化seleium安装配置(包含谷歌的chromedriver)
  • QT requested database does not belong to the calling thread.线程中查询数据报错
  • 服务器一般装什么系统?
  • Linux vi/vim 编辑器使用教程
  • JavaEE多线程案例之阻塞队列
  • 梳理你的思路(从OOP到架构设计)_基本OOP知识04
  • nginx反向代理(负载均衡)
  • Android系统应用主要模块
  • 【万字详解】三维重建(二)——NeRF、NeuS、MeshUDF、NeuralUDF、3DGS、GShell
  • 【RK3588 Linux 5.x 内核编程】-内核线程与Seqlock