当前位置: 首页 > news >正文

matplotlib 判断鼠标是否点击在当前线上

在开发中有一个需求:对生成的一条线进行拖拽。
我将这个方法实现在线所在的类里,这个过程中需要判断鼠标是否点击在当前线上,从而实现拖拽。
实现代码如下:

 # 点击事件
def on_press(self,event):if event.inaxes != self.ax:return# 只有鼠标左键才能进行拖动if event.button is MouseButton.LEFT:# 判断点击的位置是否在线上if self.line.contains(event):self.drag_x_datum_line = True

但是经过测试,无论在没在线上点击鼠标,得到的结果都是True
后来经过查资料得知,正确的写法应为:

 # 点击事件
def on_press(self,event):if event.inaxes != self.ax:return# 只有鼠标左键才能进行拖动if event.button is MouseButton.LEFT:# 判断点击的位置是否在标线上if self.line.contains(event)[0]:self.drag_x_datum_line = True

这是因为Line2D.contains(event)方法返回的是一个包含两个元素的元组,第一个元素是一个布尔值,第二个元素是一个字典,包含点的更多信息。

http://www.lryc.cn/news/121090.html

相关文章:

  • bash中(冒号破折号)的用法 —— 筑梦之路
  • LeetCode150道面试经典题--同构字符串(简单)
  • Redis - 数据类型映射底层结构
  • MySQL数据库表的增删查改 - 进阶
  • 8086汇编语言工作环境 百度网盘下载
  • ES6 解构
  • React三个状态时触发的相应钩子
  • 阿里云服务器部署Drupal网站教程基于CentOS系统
  • 【广州华锐视点】VR燃气轮机故障判断模拟演练系统
  • 第01天 什么是CSRF ?
  • uniapp 自定义手机顶部状态栏不生效问题
  • C++语法中bitset位图介绍及模拟实现
  • Debezium系列之:深入理解消息过滤,实现过滤数据库删除事件,只采集数据库新增和更新事件
  • Substack 如何在去中心化内容创作领域掀起波澜
  • 【MFC】07.MFC六大机制:消息映射-笔记
  • python操作数据库
  • 【C语言】小游戏-三字棋
  • 多线程与并发编程面试题总结
  • 在多页面应用和单页面应用中(例如vue)怎么提高seo搜索引擎优化
  • Dubbo 2.7.0 CompletableFuture 异步
  • pytest-xdist分布式测试原理浅析
  • 研发工程师玩转Kubernetes——PVC通过storageClassName进行延迟绑定
  • 6.利用matlab完成 符号矩阵的秩和 符号方阵的逆矩阵和行列式 (matlab程序)
  • python获取类名__qualname__,解决django接口ObjectDoesNotExist异常寻找model的问题
  • 电流的测量(分流电流表)
  • Leetcode每日一题:23. 合并 K 个升序链表(2023.8.12 C++)
  • 越南的区块链和NFT市场调研
  • MySQL常用语句
  • Mongodb:业务应用(1)
  • 【vue】vue中按钮权限控制: