在Qt里面,怎么实现把鼠标光标的活动范围锁定到某个矩形区域里面光标拖动到边界便阻止其越出。Linux

在Qt里面,怎么实现把鼠标光标的活动范围锁定到某个矩形区域里面光标拖动到边界便阻止其越出。Linux,第1张

你可以在MouseEvent或是HoverEvent中实现

自己设定一个边界矩形,或是区域也行(QRect/QRegion)

判定当前鼠标的位置是否在该矩形内即可,用contains( const QPoint& )

当在边界的时候就设置鼠标cursor的坐标不变即可

重载QGraphicsScene下面的几个事件

鼠标移动事件

virtual void mouseMoveEvent ( QGraphicsSceneMouseEvent mouseEvent )

鼠标点击事件

virtual void mousePressEvent ( QGraphicsSceneMouseEvent mouseEvent )

鼠标释放事件

virtual void mouseReleaseEvent ( QGraphicsSceneMouseEvent mouseEvent )

在鼠标点击事件中调用items()或者itemAt()函数来获取当前点击位置的控件。

然后在鼠标移动事件中进行控件的移动 *** 作

最后在鼠标释放事件中进行控件位置还原,或者其他什么 *** 作。

基本上就这样,

以上就是关于在Qt里面,怎么实现把鼠标光标的活动范围锁定到某个矩形区域里面光标拖动到边界便阻止其越出。Linux全部的内容,包括:在Qt里面,怎么实现把鼠标光标的活动范围锁定到某个矩形区域里面光标拖动到边界便阻止其越出。Linux、一个QT问题 关于QGraphicsScene的拖放问题、等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/web/10139081.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-05
下一篇 2023-05-05

发表评论

登录后才能评论

评论列表(0条)

保存