• 7456阅读
  • 3回复

请问下如何响应鼠标离开事件? [复制链接]

上一主题 下一主题
离线wjdid
 

只看楼主 倒序阅读 楼主  发表于: 2010-04-28
大家好,我在一个窗体上有个按钮,自己想做到当鼠标进入但不点击的时候显示一种颜色,鼠标离开按钮的时候又显示回原来的颜色,现在能实现当鼠标进入的时候改变颜色,可是当鼠标离开的时候改变不了,请问下怎么响应到鼠标离开按钮事件?注意鼠标都没有点击的。谢谢。代码如下  
{.....................................                
                                                                                                                                                                                                                                                                                                                                          LiveVideoButton = new QPushButton(QIcon("images/cut.png"),tr(""),this);
    LiveVideoButton->resize(100,50);
    LiveVideoButton->move(0,0);
    LiveVideoButton->setMouseTracking(true);
    LiveVideoButton->installEventFilter(this);
}

bool main_gui::eventFilter(QObject *target, QEvent *event)
{
    if(event->type() == QEvent::MouseMove)
    {
        if(target == LiveVideoButton)
        {
            LiveVideoButton->setStyleSheet("background-color: #202080;");
        }      
    }
    if(event->type() == QEvent::FocusOut)
    {
        if(target == LiveVideoButton)
        {
            LiveVideoButton->setStyleSheet("background-color: #202020;");
        }
    }
}                    当我鼠标移动到按钮上的时候,能进入事件改变北京颜色,我想鼠标离开按钮的时候又显示另一种颜色,应该怎么修改阿?谢谢了!
[ 此帖被wjdid在2010-04-28 12:39重新编辑 ]
离线dbzhang800

只看该作者 1楼 发表于: 2010-04-28
void QWidget::leaveEvent ( QEvent * event )   [virtual protected]
This event handler can be reimplemented in a subclass to receive widget leave events which are passed in the event parameter.
A leave event is sent to the widget when the mouse cursor leaves the widget.
See also enterEvent(), mouseMoveEvent(), and event().
离线wjdid

只看该作者 2楼 发表于: 2010-04-28
请问下具体怎么用的?能给点代码吗?谢谢 我是新手。
离线wd007

只看该作者 3楼 发表于: 2010-04-28
可以看看文档,Qt Demo有例子。
欢迎访问我的博客,一起学习提高
http://blog.csdn.net/qter_wd007
快速回复
限100 字节
 
上一个 下一个