我对QT有点新意。我有一个单独的Crosshair
类,只需使用QPainter
和QPen
呈现十字准线。我使用了paint()
函数,它确实在窗口的某个位置显示十字准线。如何使十字准线跟随当前的鼠标位置?
这是我的方法,但我无法让它发挥作用。我正在关注VoidRealms教程。
void Crosshair::mouseMoveEvent(QGraphicsSceneMouseEvent *event){
// i want to update the x and y position when the mouse moves
//x = mouse.x
//y = mouse.y
QGraphicsItem::mouseMoveEvent(event);
update();
}
答案 0 :(得分:2)
这应该适合你:
this->setPos(event->x(), event->y());
如果您在QGraphicsSceneMouseEvent
之外进行场景映射,还可以使用其他辅助函数。
我在这里描述了它:
How to draw a point (on mouseclick) on a QGraphicsScene?
希望有所帮助。