标题:virtual void mouseMoveEvent(QMouseEvent *)为什么不是鼠标移动调用此函数
作者:style
日期:2006-10-13 16:38
内容:
本人QT3 QT4都测试了。 发现virtual void mouseMoveEvent(QMouseEvent *)这个函数并不会鼠标移动就调过。
反正最少要移动了并且点击了窗口才会调用这个函数。可是文档上说的是移动就调用,谁能解释一下。
我相信我说法的可以测试下面代码。
#include
#include
#include
#include
#include
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();
}
#1 [浪漫天使 10-14 00:48]
tyr setMouseTracking(true);
#2 [style 10-14 01:22]
谢谢。
#3 [cavendish 10-16 19:37]
为什么不看文档
http://doc.trolltech.com/4.2/qwidget.html#mouseMoveEvent
http://doc.trolltech.com/3.3/qwidget.html#mouseMoveEvent
http://www.qiliang.net/qt/qwidget.html#mouseMoveEvent