QT 如何将用Qpainter绘制的图形显示在界面最顶层窗口

菜鸟阿丹 2018-07-16 03:46:04
用QT上重写鼠标事件,实现在界面上框选,用QPainter绘制了矩形框,想要使矩形框显示在QTabWidget的当前tab上,但是现在矩形一直被绘制在主界面上,在tabWidget上根本看不见,如何让绘制的矩形显示在最顶层窗口,求指导
...全文
5599 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
QtUnremitting 2018-07-27
  • 打赏
  • 举报
回复
引用 楼主 xiaocainiao55 的回复:
用QT上重写鼠标事件,实现在界面上框选,用QPainter绘制了矩形框,想要使矩形框显示在QTabWidget的当前tab上,但是现在矩形一直被绘制在主界面上,在tabWidget上根本看不见,如何让绘制的矩形显示在最顶层窗口,求指导

这个方法可行,你倒是结贴啊,哈哈
Mr。Lili 2018-07-27
  • 打赏
  • 举报
回复
子类里重写virtual void paintEvent(QPaintEvent *event); 正解
菜鸟阿丹 2018-07-17
  • 打赏
  • 举报
回复
引用 2 楼 u014444402 的回复:
继承QTabWidget重要为你的tabwidget控件写一个新类QMyTabWidget。再把你的控件的类型提升为你的新类QMyTabWidget。
在新类QMyTabWidget里面重写virtual void paintEvent(QPaintEvent *event);在里面画。


谢谢,这个方法可行,我是要在QTabWidget中添加widget,所以定义了新的MyWidget类,继承自QWidget,然后在MyWidget里面重写paintEvent方法
CyberLogix 2018-07-17
  • 打赏
  • 举报
回复
在子类中重写virtual void paintEvent(QPaintEvent *event);
灌水号 2018-07-16
  • 打赏
  • 举报
回复 1
继承QTabWidget重要为你的tabwidget控件写一个新类QMyTabWidget。再把你的控件的类型提升为你的新类QMyTabWidget。
在新类QMyTabWidget里面重写virtual void paintEvent(QPaintEvent *event);在里面画。
菜鸟阿丹 2018-07-16
  • 打赏
  • 举报
回复
当前想到的方法是重写QWidget中的paintEvent,方法,大牛有什么好的方法?

3,882

社区成员

发帖
与我相关
我的任务
社区描述
C/C++ 其它技术问题
社区管理员
  • 其它技术问题社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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