• 6799阅读
  • 2回复

怎样限制QGraphicsItem被拖曳时候的移动范围 [复制链接]

上一主题 下一主题
离线tan_tan_1
 
只看楼主 倒序阅读 楼主  发表于: 2011-05-28
— 本帖被 XChinux 从 Qt基础编程 移动到本区(2011-05-28) —
比如我想要让QGraphicsItem只能在一条线上移动,怎样实现,官方帮助上说用itemChange,但是不知道具体怎么做
离线tan_tan_1
只看该作者 1楼 发表于: 2011-05-28
进过尝试发现应该是重写mouseMoveEvent,mousePressEvent,mouseReleaseEvent,我在这三个函数中都加入了设置QGraphicsItem位置,将x坐标设置为固定值,虽然当鼠标点击和放开QGraphicsItem时x坐标变成了我设定的值,但是当鼠标在移动时x坐标还是不能固定住
离线xjcook

只看该作者 2楼 发表于: 2011-05-31
原理上没什么问题了,
你断一下看那个mouseMoveEvent走进去没有
官方说的用itemChange也可以实现,你重写后处理坐标变化的就是了
快速回复
限100 字节
 
上一个 下一个