修改
我正在使用图片作为按钮。第三张图片是"开始"按钮和第4个图像是" Numpad"按钮。
按钮占用的空间比图像多,如第一张图片所示。我想带走那个空间,只留下图像空间。
我想摆脱边框占用的空间,因为我希望按钮只占用图像大小的空间。
第一张图片在MainButton类中有这行代码:
self.configure(bg=color['background'], activebackground=color['background'], borderwidth=0, highlightthickness=0)
第二张图片在MainButton类中有这行代码:
self.configure(bg=color['background'], activebackground=color['background'])
完整代码:
class MainButton(Button):
def __init__(self, *args, **kwargs):
Button.__init__(self, *args, **kwargs)
self.helv20 = Font(root= self,family="Arial",size=18)
self.helv18 = Font(root= self,family="Arial",size=16)
self.configure(bg=color['background'], activebackground=color['background'], borderwidth=0, highlightthickness=0)
def _active(self, event):
self.configure(image=self.ActiveImage)
def _inactive(self, event):
self.configure(image=self.DefaultImage)
class RunButton(MainButton):
def __init__(self, *args, **kwargs):
MainButton.__init__(self, *args, **kwargs)
self.bind("<ButtonPress>", self._active)
self.bind("<ButtonRelease>", self._inactive)
self.DefaultImage=PhotoImage(file="img/mainbutton_green.png")
self.ActiveImage=PhotoImage(file="img/mainbutton_active.png")
self.configure(image=self.DefaultImage, compound=CENTER, font=self.helv20)
答案 0 :(得分:2)
.cblite2
只需移除边框(给人以浮雕的印象,因此效果与borderwidth=0
相同),但不会缩小图像周围的空间。为此,您可以使用按钮的relief='flat'
和padx
选项:
pady