• 5890阅读
  • 4回复

[提问]如何用事件过滤器来实现QPainter绘图 [复制链接]

上一主题 下一主题
离线luoping_yuri
 

只看楼主 倒序阅读 楼主  发表于: 2014-07-04
我的窗体中使用了很多不同的控件,如果重载paintEvent的话貌似需要每个控件都重载一遍。
响应mouseMoveEvent等鼠标事件时,可以通过使用事件过滤器的方式来解决这个问题,那么对于paintEvent来说有没有方法通过事件过滤器来统一处理呢?
O(∩_∩)O谢谢!
离线dbzhang800

只看该作者 1楼 发表于: 2014-07-04
paintEvent 和你过滤 mouseMoveEvent 是完全一样的

不过感觉上,你解决问题的思路应该出问题了。
离线luoping_yuri

只看该作者 2楼 发表于: 2014-07-04
回 dbzhang800 的帖子
dbzhang800:paintEvent 和你过滤 mouseMoveEvent 是完全一样的
不过感觉上,你解决问题的思路应该出问题了。 (2014-07-04 12:18) 

恩,确实想错了。
目前我新建了一个类继承Qlabel,重写paintEvent()函数,悲剧的不知道该如何让这个功能生效,我在主窗口的类中初始化几个label后发现图是画出来了,但是主窗口的菜单功能都失效了,图不是画在label中,而是画到了菜单栏上。:-(
离线shiziyang

只看该作者 3楼 发表于: 2014-07-04
QPainter的父指针没指错吧?
离线luoping_yuri

只看该作者 4楼 发表于: 2014-07-04
目前我通过把ui自动生成的文件中的相关label的定义用我的类来定义解决了问题。比如原来是QLabel label1,现在要改成myLabel label1,可是这个自动生成的文件每次对ui文件修改后都会重新自动生成啊,不知道这个问题有什么解决办法呢?
快速回复
限100 字节
 
上一个 下一个