2010年2月6日 星期六

QT的滑鼠移動事件,捕獲座標點,不讓任何widget攔截的方法

產生武器會隨滑鼠移動













當滑鼠劃過人物,滑鼠座標依然能捕獲(武器疊在人物上)
















在QT的滑鼠移動事件,捕獲座標點,是這樣寫
void Form::mouseMoveEvent(QMouseEvent *e)
{
//move_x=e-> globalX();//這是螢幕絕對座標
//QTestEventList::addMouseMove ( QPoint pos = QPoint(), int delay = -1 );

int xx=e->x(); //mouse在frame x
int yy=e->y(); //mouse在frame y
//ui->label_2->setText(QString::number(xx));
QPoint p(xx,yy);
body->set_move_rpg_to_location(p);

}

但是當有widget在此主widget上時會失效,只要將此
widget設成setMouseTracking(true),就能依然有效捕獲


move_obj_label=new QLabel(parent);
move_obj_label->setMouseTracking(true);//希望滑鼠劃過不被攔截,這個很重要