使 matplotlib 按钮小部件在按下时启动,而不是在释放时启动
Make matplotlib button widget actuate when pressed, not when released
我制作了一个简单的交互式 matplotlib 图,它使用按钮来浏览绘图。此类按钮的一个最小示例是:
import matplotlib.pyplot as plt
from matplotlib.widgets import Button
def message(_):
print('Hello, World!')
buttonAxes = plt.axes([0.48, 0.48, 0.08, 0.08])
button = Button(buttonAxes, 'Button', color='#FFFFFF', hovercolor='#808080')
button.on_clicked(message)
plt.show()
此按钮的行为符合预期,但在释放鼠标按钮时启动,而不是在按下鼠标按钮时启动。如果我单击按钮并且不释放鼠标按钮,则永远不会调用 message
并且不会打印任何内容。这使得按钮在像我这样的情况下使用起来非常不和谐。
如何让这些按钮在按下时启动?或者,我如何构建一个替换按钮?
Python 3.8.1 Windows 10.
您必须通过 connect_event()
方法使用 "button_press_event" 事件:
button.connect_event("button_press_event", message)
我制作了一个简单的交互式 matplotlib 图,它使用按钮来浏览绘图。此类按钮的一个最小示例是:
import matplotlib.pyplot as plt
from matplotlib.widgets import Button
def message(_):
print('Hello, World!')
buttonAxes = plt.axes([0.48, 0.48, 0.08, 0.08])
button = Button(buttonAxes, 'Button', color='#FFFFFF', hovercolor='#808080')
button.on_clicked(message)
plt.show()
此按钮的行为符合预期,但在释放鼠标按钮时启动,而不是在按下鼠标按钮时启动。如果我单击按钮并且不释放鼠标按钮,则永远不会调用 message
并且不会打印任何内容。这使得按钮在像我这样的情况下使用起来非常不和谐。
如何让这些按钮在按下时启动?或者,我如何构建一个替换按钮?
Python 3.8.1 Windows 10.
您必须通过 connect_event()
方法使用 "button_press_event" 事件:
button.connect_event("button_press_event", message)