user-0 提问: Qt中eventFilter事件出现莫名其妙的错误

回复:
user: user-0
content: return flase 问题就解决了 感谢

user: user-1
content: 都说了不要return true 你都不知道这个函数是干嘛的还用

user: user-0
content: 引用 9 楼 u014019207 的回复:[quote=引用 8 楼 u014019207 的回复:] [quote=引用 7 楼 ybjx111 的回复:] [quote=引用 5 楼 u014019207 的回复:] [quote=引用 2 楼 ybjx111 的回复:] 返回true表示接收消息的控件不处理该消息， 你把全部的消息都返回true来过滤掉，自然就不会绘制图片了 在eventFilter中不要直接返回true，否则控件将接收不到任何消息。   我在设计师里面已经添加了一张图片了啊 QLabel里面  就是调用这个的时候 既然图片消失了 才会很吃惊的[/quote]  都是了eventFilter不要直接return true，这样控件讲不会接收到任何消息，自然就不会绘制图片了，你添加的图片就看不到了。[/quote]  大哥 能不能看清楚问题啊。。。 是我本来已经到设计师里面添加一张图片了 这样弄以后  图片既然消失了  我现在是不想eventFitle帮我做任何事情啊 我只是想你们分析下 为什么图片消失了 而不是让他重新帮我绘制一张图片[/quote]  bool CMainStartUI::eventFilter(QObject *obj, QEvent *eve) {  	if (obj == ui.label) 	{ 		if (eve->type() == QEvent::Enter) 			setLabelIcon(ui.label,"images/images/on-1.png"); 	} 	return true; }  void CMainStartUI::setLabelIcon(QLabel *label,const QString &path) { 	QPixmap pixmap(path); 	label->setPixmap(pixmap); } 即使这样 图片一样是消失的状态 很莫名其妙 [/quote]   而且我图片路径肯定传对了 如果去掉注册那一行代码 图片是显示的

user: user-0
content: 引用 8 楼 u014019207 的回复:[quote=引用 7 楼 ybjx111 的回复:] [quote=引用 5 楼 u014019207 的回复:] [quote=引用 2 楼 ybjx111 的回复:] 返回true表示接收消息的控件不处理该消息， 你把全部的消息都返回true来过滤掉，自然就不会绘制图片了 在eventFilter中不要直接返回true，否则控件将接收不到任何消息。   我在设计师里面已经添加了一张图片了啊 QLabel里面  就是调用这个的时候 既然图片消失了 才会很吃惊的[/quote]  都是了eventFilter不要直接return true，这样控件讲不会接收到任何消息，自然就不会绘制图片了，你添加的图片就看不到了。[/quote]  大哥 能不能看清楚问题啊。。。 是我本来已经到设计师里面添加一张图片了 这样弄以后  图片既然消失了  我现在是不想eventFitle帮我做任何事情啊 我只是想你们分析下 为什么图片消失了 而不是让他重新帮我绘制一张图片[/quote]  bool CMainStartUI::eventFilter(QObject *obj, QEvent *eve) {  	if (obj == ui.label) 	{ 		if (eve->type() == QEvent::Enter) 			setLabelIcon(ui.label,"images/images/on-1.png"); 	} 	return true; }  void CMainStartUI::setLabelIcon(QLabel *label,const QString &path) { 	QPixmap pixmap(path); 	label->setPixmap(pixmap); } 即使这样 图片一样是消失的状态 很莫名其妙

user: user-0
content: 引用 7 楼 ybjx111 的回复:[quote=引用 5 楼 u014019207 的回复:] [quote=引用 2 楼 ybjx111 的回复:] 返回true表示接收消息的控件不处理该消息， 你把全部的消息都返回true来过滤掉，自然就不会绘制图片了 在eventFilter中不要直接返回true，否则控件将接收不到任何消息。   我在设计师里面已经添加了一张图片了啊 QLabel里面  就是调用这个的时候 既然图片消失了 才会很吃惊的[/quote]  都是了eventFilter不要直接return true，这样控件讲不会接收到任何消息，自然就不会绘制图片了，你添加的图片就看不到了。[/quote]  大哥 能不能看清楚问题啊。。。 是我本来已经到设计师里面添加一张图片了 这样弄以后  图片既然消失了  我现在是不想eventFitle帮我做任何事情啊 我只是想你们分析下 为什么图片消失了 而不是让他重新帮我绘制一张图片

user: user-1
content: 返回true表示接收消息的控件不处理该消息， 你把全部的消息都返回true来过滤掉，自然就不会绘制图片了 在eventFilter中不要直接返回true，否则控件将接收不到任何消息。

user: user-1
content: eventFilter里面干了什么？ 会不会是这个函数在处理某些消息（如paintevent）时返回了true？

user: user-1
content: 引用 5 楼 u014019207 的回复:[quote=引用 2 楼 ybjx111 的回复:] 返回true表示接收消息的控件不处理该消息， 你把全部的消息都返回true来过滤掉，自然就不会绘制图片了 在eventFilter中不要直接返回true，否则控件将接收不到任何消息。   我在设计师里面已经添加了一张图片了啊 QLabel里面  就是调用这个的时候 既然图片消失了 才会很吃惊的[/quote]  都是了eventFilter不要直接return true，这样控件讲不会接收到任何消息，自然就不会绘制图片了，你添加的图片就看不到了。

user: user-0
content: 引用 3 楼 lovesmiles 的回复:bool ceshi::eventFilter(QObject *object, QEvent *e) { return true; } 如果没有猜错，应该在里面加上父类的eventFilter调用  可以加啊 我开始以为是我调用到其他的事件把图片给弄掉了  所以才把这个函数什么都不做 图片既然也消失了  没想明白 能帮忙试试吗

user: user-0
content: 引用 2 楼 ybjx111 的回复:返回true表示接收消息的控件不处理该消息， 你把全部的消息都返回true来过滤掉，自然就不会绘制图片了 在eventFilter中不要直接返回true，否则控件将接收不到任何消息。   我在设计师里面已经添加了一张图片了啊 QLabel里面  就是调用这个的时候 既然图片消失了 才会很吃惊的

user: user-0
content: 引用 1 楼 ybjx111 的回复:eventFilter里面干了什么？ 会不会是这个函数在处理某些消息（如paintevent）时返回了true？  我就是什么都不干 我想知道为什么图片会消失 我这里主要是为了切换移动上去的图片 还有按下的 意思就是 为什么这样 图片会消失  就这么点代码 没有其他的事件了

user: user-2
content: bool ceshi::eventFilter(QObject *object, QEvent *e) { return true; } 如果没有猜错，应该在里面加上父类的eventFilter调用