一个QT问题 关于QGraphicsScene的拖放问题
我最近一直在想一个功能,在QGraphicsScene里面存放的图片,比如每一张图片都有自己的位置,如果我鼠标点击并且拖动这张图片的话,原来的位置置空,然后放开鼠标之后,...
我最近一直在想一个功能,在QGraphicsScene里面存放的图片,比如每一张图片都有自己的位置,如果我鼠标点击并且拖动这张图片的话,原来的位置置空,然后放开鼠标之后,图片会回到原来的位置,请问,这样的功能,该如何去实现呢~~
请问各位大牛能不能给个方法,或者指点一二~~ 展开
请问各位大牛能不能给个方法,或者指点一二~~ 展开
1个回答
展开全部
重载QGraphicsScene下面的几个事件
鼠标移动事件
virtual void mouseMoveEvent ( QGraphicsSceneMouseEvent * mouseEvent )
鼠标点击事件
virtual void mousePressEvent ( QGraphicsSceneMouseEvent * mouseEvent )
鼠标释放事件
virtual void mouseReleaseEvent ( QGraphicsSceneMouseEvent * mouseEvent )
在鼠标点击事件中调用items()或者itemAt()函数来获取当前点击位置的控件。
然后在鼠标移动事件中进行控件的移动操作
最后在鼠标释放事件中进行控件位置还原,或者其他什么操作。
基本上就这样,
鼠标移动事件
virtual void mouseMoveEvent ( QGraphicsSceneMouseEvent * mouseEvent )
鼠标点击事件
virtual void mousePressEvent ( QGraphicsSceneMouseEvent * mouseEvent )
鼠标释放事件
virtual void mouseReleaseEvent ( QGraphicsSceneMouseEvent * mouseEvent )
在鼠标点击事件中调用items()或者itemAt()函数来获取当前点击位置的控件。
然后在鼠标移动事件中进行控件的移动操作
最后在鼠标释放事件中进行控件位置还原,或者其他什么操作。
基本上就这样,
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询