• 4009阅读
  • 4回复

能不能实现点的拖动? [复制链接]

上一主题 下一主题
离线huangdi_1
 
只看楼主 倒序阅读 楼主  发表于: 2009-09-24
在QWidget的paintEvent事件中用QPainter画了一个点,能否使用鼠标事件拖动这个点,或者画一个框,用鼠标来拖动这个框,用什么函数实现呢?非常感谢!
离线dbzhang800

只看该作者 1楼 发表于: 2009-09-24
可以实现(你自己根据鼠标的动作在新的位置上画点,实现移动效果),不过还是建议你使用 QGraphics View 框架
离线huangdi_1
只看该作者 2楼 发表于: 2009-09-24
引用第1楼dbzhang800于2009-09-24 10:05发表的  :
可以实现(你自己根据鼠标的动作在新的位置上画点,实现移动效果),不过还是建议你使用 QGraphics View 框架


鼠标事件mousePressEvent(QMouseEvent *event),  mouseMoveEvent(QMouseEvent *event), mouseReleaseEvent(QMouseEvent *event),
这三个要一起用吗?每个部分负责什么?看了文档也没弄太清楚,
获取点的坐标是event->pos(),  哪个是让点或者框接受拖动n呢?直接accept()行不行?
遇到瓶颈啦,难啊!
离线dbzhang800

只看该作者 3楼 发表于: 2009-09-24
简单一点,

鼠标按下,如果在你的东西上,做个标记

鼠标移动,标记在,调用painter,在鼠标位置上画东西

鼠标释放,清楚标记
离线huangdi_1
只看该作者 4楼 发表于: 2009-09-24
引用第3楼dbzhang800于2009-09-24 10:26发表的  :
简单一点,
鼠标按下,如果在你的东西上,做个标记
鼠标移动,标记在,调用painter,在鼠标位置上画东西
.......


有点感觉了 谢谢!我在研究研究
快速回复
限100 字节
 
上一个 下一个