我想平滑按钮的边缘,更改默认的矩形形状。
这是我用来创建按钮的代码:
axImg = plt.axes([0.25, 0.45, 0.2, 0.09])
bnI = Button(axImg, 'Enter', color='0.9')
bnI.hovercolor = "blue"
bnI.label.set_fontsize(18),
答案 0 :(得分:0)
您不能对按钮本身进行造型,因为它实际上只是一个轴,并且轴是矩形的。 (当然,可以使用不同的轴,例如极轴,但是那将是完全圆形的。)
但是,可以将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()
请注意,在这种情况下,悬停将不起作用,因为显示的是补丁而不是轴。