本人QT3 QT4都测试了。 发现virtual void mouseMoveEvent(QMouseEvent *)这个函数并不会鼠标移动就调过。
反正最少要移动了并且点击了窗口才会调用这个函数。可是文档上说的是移动就调用,谁能解释一下。
我相信我说法的可以测试下面代码。
#include <QWidget>
#include <QMessageBox>
#include <QApplication>
#include <QLabel>
#include <QMouseEvent>
class A:public QWidget
{
public:
QLabel *l;
A()
{
l = new QLabel("0", this);
}
virtual void mouseMoveEvent(QMouseEvent *);
};
void A::mouseMoveEvent(QMouseEvent *e)
{
l->setText(QString("x=%1, Y=%2").arg(e->x()).arg(e->y()));
l->resize(l->sizeHint());
}
int main(int argc, char **argv)
{
QApplication app(argc, argv);
A a;
a.show();
return app.exec();
}