使 matplotlib 按钮小部件在按下时启动,而不是在释放时启动



我做了一个简单的交互式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,也不会打印任何内容进行输出。这使得按钮在像我这样的情况下使用起来非常刺耳。

如何使这样的按钮在按下时启动?或者,如何构建一个替换按钮?

Windows 10 上的 Python 3.8.1。

您必须通过connect_event()方法使用 "button_press_event" 事件:

button.connect_event("button_press_event", message)

最新更新