一 鼠标的常用的事件

   mousePressEvent(QMouseEvent *e)  //鼠标点击事件

   mouseReleaseEvent(QMouseEvent *e) //鼠标释放事件 

   mouseMoveEvent(QMouseEvent *e) //鼠标移动事件

   void mouseDoubleClickEvent(QMouseEvent *event);//鼠标双击事件

    void wheelEvent(QMouseEvent *event); //鼠标滚轮事件

    注意:在鼠标移动事件时,默认是是需要鼠标点击后,才会触发。可以设置为自动触发:setMouseTracking(true);如果在子控件上设置自动触发,需要把父控件也要设置成自动触发,这样子控件上才会生效。

二 鼠标样式的改变

    setCursor(const QCursor &cursor)

    可以设置内容如下:

      例:setCursor(Qt::ArrowCursor);

qt,鼠标那些事

 

 三判断鼠标是否在一个控件上

    bool QWidget::underMouse()  如果在返回true,不在返回false

四鼠标的移入移出事件,

    void leaveEvent(QEvent *) //移出事件

    void enterEvent(QEvent *)//鼠标移入事件

   此事件直接用于主窗体上,如果要用到QPushButton,QLable上,需要重写QPushButton,QLable,把这两个事件添加上去

   设置样式表:

   QPushButton->setStyleSheet("QPushButton{border-image:url(图片路径);}"
                       "QPushButton:hover{border-image:url(图片路径);}"
                       "QPushButton:pressed{border-image:url(图片路径);}"
                       );

QPushButton原本设置一张背景图,鼠标移到button上面会换一张背景图,点击又会换一张背景图

相关文章: