捕获PaintEvent()画出来的点,并实现点击弹出对话框

Thealeh 2018-12-06 10:59:50
最近一个项目在做雷达显示界面,从雷达信号处理机接收到数据之后,根据其中的角度和距离信息通过PaintEvent()事件以目标点的形式将其绘制到窗口的二维界面中,但由于一个目标还包含其他信息,现在想通过点击界面上显示出来的目标点的方式,弹出一个对话框,里面显示目标的其他信息。
请问怎样捕获PaintEvent()画出来的点,并实现点击弹出对话框?希望懂的人帮助一下,谢谢啦~~~~~~
...全文
835 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
Thealeh 2018-12-10
  • 打赏
  • 举报
回复
引用 4 楼 Thealeh 的回复:
[quote=引用 3 楼 南京短暂的春天 的回复:]
[quote=引用 2 楼 Thealeh 的回复:]
[quote=引用 1 楼 南京短暂的春天 的回复:]
你的界面刷新周期是多少?
建议你用QGraphicsView来做,你可以减少很多麻烦。
如果你单纯用paintEvent来做,就需要有一个容器去存放所有的点。
再到mousepressEvent中去根据点击的坐标来换算成实际数据内容。


你好,感谢你的回答,我的界面刷新周期是70ms左右,每一次刷新界面上出来最多不超过50个目标点。我没用过QGraphicsView,请问一下,用它的话,也是通过PanitEvent()事件在上面画点吗?那又怎样实现单击每个点的操作呢?
[/quote]
你这个刷的太快了。有什么东西是需要70ms的响应么?我看电视上那些雷达的画面都是十秒以上才更新下一个画面。
QGraphicsView你要看文档了,但是你这么快刷新,这个框架扛不住的。还有,你的窗口是固定大小么?[/quote]
我这个是雷达实时信号处理完了,然后发给上位机显示出来的,实时处理的速度就要求很快的。窗口是固定大小的[/quote]
不对,我搞错了,是70x250,大概17.5s刷新一次。
Thealeh 2018-12-10
  • 打赏
  • 举报
回复
引用 3 楼 南京短暂的春天 的回复:
[quote=引用 2 楼 Thealeh 的回复:]
[quote=引用 1 楼 南京短暂的春天 的回复:]
你的界面刷新周期是多少?
建议你用QGraphicsView来做,你可以减少很多麻烦。
如果你单纯用paintEvent来做,就需要有一个容器去存放所有的点。
再到mousepressEvent中去根据点击的坐标来换算成实际数据内容。


你好,感谢你的回答,我的界面刷新周期是70ms左右,每一次刷新界面上出来最多不超过50个目标点。我没用过QGraphicsView,请问一下,用它的话,也是通过PanitEvent()事件在上面画点吗?那又怎样实现单击每个点的操作呢?
[/quote]
你这个刷的太快了。有什么东西是需要70ms的响应么?我看电视上那些雷达的画面都是十秒以上才更新下一个画面。
QGraphicsView你要看文档了,但是你这么快刷新,这个框架扛不住的。还有,你的窗口是固定大小么?[/quote]
我这个是雷达实时信号处理完了,然后发给上位机显示出来的,实时处理的速度就要求很快的。窗口是固定大小的
  • 打赏
  • 举报
回复
引用 2 楼 Thealeh 的回复:
[quote=引用 1 楼 南京短暂的春天 的回复:] 你的界面刷新周期是多少? 建议你用QGraphicsView来做,你可以减少很多麻烦。 如果你单纯用paintEvent来做,就需要有一个容器去存放所有的点。 再到mousepressEvent中去根据点击的坐标来换算成实际数据内容。
你好,感谢你的回答,我的界面刷新周期是70ms左右,每一次刷新界面上出来最多不超过50个目标点。我没用过QGraphicsView,请问一下,用它的话,也是通过PanitEvent()事件在上面画点吗?那又怎样实现单击每个点的操作呢? [/quote] 你这个刷的太快了。有什么东西是需要70ms的响应么?我看电视上那些雷达的画面都是十秒以上才更新下一个画面。 QGraphicsView你要看文档了,但是你这么快刷新,这个框架扛不住的。还有,你的窗口是固定大小么?
Thealeh 2018-12-06
  • 打赏
  • 举报
回复
引用 1 楼 南京短暂的春天 的回复:
你的界面刷新周期是多少?
建议你用QGraphicsView来做,你可以减少很多麻烦。
如果你单纯用paintEvent来做,就需要有一个容器去存放所有的点。
再到mousepressEvent中去根据点击的坐标来换算成实际数据内容。


你好,感谢你的回答,我的界面刷新周期是70ms左右,每一次刷新界面上出来最多不超过50个目标点。我没用过QGraphicsView,请问一下,用它的话,也是通过PanitEvent()事件在上面画点吗?那又怎样实现单击每个点的操作呢?
  • 打赏
  • 举报
回复
你的界面刷新周期是多少? 建议你用QGraphicsView来做,你可以减少很多麻烦。 如果你单纯用paintEvent来做,就需要有一个容器去存放所有的点。 再到mousepressEvent中去根据点击的坐标来换算成实际数据内容。

16,240

社区成员

发帖
与我相关
我的任务
社区描述
Qt 是一个跨平台应用程序框架。通过使用 Qt,您可以一次性开发应用程序和用户界面,然后将其部署到多个桌面和嵌入式操作系统,而无需重复编写源代码。
社区管理员
  • Qt
  • 亭台六七座
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧