我有一个 matplotlib,并创建了一个 button_press_event
,代码如下:
self.fig.canvas.mpl_connect('button_press_event', self.onClick)
def onClick(self, event)
if event.button == 1:
# draw some artists on left click
elif event.button == 2:
# draw a vertical line on the mouse x location on wheel click
elif event.button == 3:
# clear artists on right click
现在,是否可以将滚轮点击处理程序修改为以下内容:
elif event.button == 2 or (event.button == 1 and event.key == "shift"):
# draw a vertical line on the mouse x location
# on wheel click or on shift+left click
# (alternative way if there is no wheel for example)
似乎不支持按键操作,而不支持鼠标点击,但我不确定。有没有什么方法呢?
event.key == 'shift+left'
来捕获shift
+left
键盘按钮。 - Nirkey_release_event
没有说明_释放_哪个键。例如:key_press_event
,key='shift'
)key_press_event
,key='ctrl+shift'
)key_release_event
,key='ctrl+shift'
)key_release_event
,key='ctrl'
) 最后,没有按下任何键,但是shift_is_held==True
。你可以将条件改为if 'shift' in event.key
,但是如果你先释放Ctrl键,Shift键仍然被按住,但shift_is_held==False
... 有什么建议吗?