一 鼠标的常用的事件
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);
三判断鼠标是否在一个控件上
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上面会换一张背景图,点击又会换一张背景图