您无法对按钮本身进行造型,因为它本质上只是一个轴,而轴是矩形的。 (当然可以使用不同的轴,比如极轴,但那将是完全圆的。)
但是,可以将 FancyBboxPatch 放入轴中,并赋予其一些圆边。
import matplotlib.pyplot as plt
from matplotlib.widgets import Button
import matplotlib.patches as mpatches
bttn_ax = plt.axes([0.25, 0.45, 0.2, 0.09])
bttn_ax.set_frame_on(False)
bttn = Button(bttn_ax, 'Enter')
bttn.label.set_fontsize(18)
fancybox = mpatches.FancyBboxPatch((0,0), 1,1,
edgecolor="black",
facecolor="0.9",
boxstyle="round,pad=0.1",
mutation_aspect=3,
transform=bttn_ax.transAxes, clip_on=False)
bttn_ax.add_patch(fancybox)
bttn.on_clicked(lambda x: print("Click!"))
plt.show()
请注意,在这种情况下,悬停将不起作用,因为显示的是补丁,而不是轴。