首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 移动开发 > QT开发 >

关于QGraphicsItem 的移动有关问题(急)

2012-07-29 
关于QGraphicsItem 的移动问题(急啊)问题描述:在QGraphicsScene 中有多个QGraphicsItem控件 Item1、Item2、I

关于QGraphicsItem 的移动问题(急啊)
问题描述:
  在QGraphicsScene 中有多个QGraphicsItem控件 Item1、Item2、Item3...
  现在多选几个Item之后, 在Scene 中任意一点(此处无Item)在按住Ctrl 的情况下 Press并移动鼠标左键,希望能让所选的多个Item也能移动和鼠标一样的偏移量,就像在多选之后Press 任意一个Item并移动那样。。
   
  此问题困扰在下几天了,求大神支援。。

[解决办法]
对这种情况,定义一种状态;然后针对这种状态,响应scene的鼠标相关消息。

可以阅读一下QGraphicsScene代码对选中的item移动时的处理方法。
[解决办法]

探讨
定义一种状态是指?
QGraphicsScene 中 item移动时的处理方法是指?

[解决办法]
提供一种方案供楼主参考:
定义两个bool型成员变量: leftMousePress 和 CtrlPress
重写mousePressEvent 和 KeyPressEvent,当这两个都按下到时候leftMousePress = true CtrlPress = true
重写mouseMoveEvent:
if(leftMousePress&&ctrlPress)
{
this->scene()->selectedItems() 全部移动鼠标移动的距离
}

热点排行