分配MouseClicked后,Eventhandler不允许我选择图形

时间:2019-01-20 12:59:47

标签: wolfram-mathematica

我正在尝试数字化图像中的点,并且我想使用KeyDown事件清除选定的点。 为了使KeyDown起作用,必须通过单击图像来选择它(图像周围会显示橙色边框)。 分配MouseClicked后,它将在我的图像中注册该点,但是不会选择该图像,因此KeyDown将不起作用。 我发现我可以使用鼠标右键来选择图像。 我希望找到一种方法,使代码在创建文档后立即自动为我选择图像。 有人知道该怎么做吗?

这是我的研究,因此我可以数字化超声图像中特征的位置。

我曾尝试以几种不同的方式使用SelectionMove []函数,但是它不起作用。

CreateDocument[
  DynamicModule[
   {pnts = {}},
   EventHandler[
    Show[
     img,
     Epilog -> {Red, Point[Dynamic[pnts]]}
     ],
    {
     {"MouseClicked", 
       1} :> {AppendTo[pnts, MousePosition["Graphics"]]},
     "EscapeKeyDown" :> {pnts = {}}
     }
    ]
   ]
  ];

它打开图像,我可以放置点。但是,我无法使用EscapeKeyDown清除它们。

我的图片-> https://imgur.com/a/qgksuBP

1 个答案:

答案 0 :(得分:0)

似乎在文档中模糊地回答了该问题:“对于鼠标事件,EventHandler [ expr ,...]处理鼠标在显示器定义的矩形区域内的事件的。”暗示键盘事件的工作方式不同。

您可以使用类似这样的东西。

tasknotes_archive