Sorry, your browser cannot access this site
This page requires browser support (enable) JavaScript
Learn more >

Gray-Ice

个人博客兼个人网站

先来看一下只使用mouseMoveEvent()而不设置默认追踪鼠标的效果。
我的mouseMoveEvent是这么写的:

1
2
3
4
5
6
7
void MyLabel::mouseMoveEvent(QMouseEvent *ev)
{
int x = ev->x();
int y = ev->y();
QString qs = QString("<center><h1>this is x: %1, and this is y: %2</h1></center>").arg(x).arg(y);
this->setText(qs);
}

这是效果图:

我设置了如果鼠标点击就会使QLabel里的字体变色的效果。在图中,我一开始滑动鼠标,QLabel并没有任何变化,但是在我拖拽鼠标之后发生了变化。
然后再来看看如何设置默认追踪鼠标的:

1
2
3
4
MyLabel::MyLabel(QWidget *parent) : QLabel(parent)
{
this->setMouseTracking(true);
}

我在构造函数里加了setMouseTracking(true)。
这是效果图:

可以看到,我的鼠标一滑进应用程序框mouseMoveEnvent就立即触发。
本篇完。

评论



愿火焰指引你