2017-01-30 2 views
1

EDITTkinterのボタンは、私がボタンとして画像を使用しています国境

を持っています。 3番目の画像は「開始」ボタンで、4番目の画像は「ナンバード」ボタンです。

ボタンは、最初の画像で確認できるように、画像よりも多くの領域を占めます。そのスペースを取り除き、イメージスペースだけを取っていきたいと思います。


私はボタンが画像サイズのスペースしか取らないので、境界線が取れるスペースを取り除きたいと思います。

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) 

self.configure(bg=color['background'], activebackground=color['background'], borderwidth=0, highlightthickness=0) 

第二の画像がMainButtonクラスのコード行を有する:

最初のイメージはMainButtonクラスのコード行を有しています

enter image description here

enter image description here

enter image description here

enter image description here

+0

それはあなたが求めているものは不明です。あなたは "最初の画像にMainButtonクラス... borderwidth = 0、highlightthickness = 0 ..."というコード行を書いています。そのコードはあなたが望むものを与えますか?また、あなたのイメージは逆に見えます。第二のイメージは、あなたが国境とハイライトの厚さをオフにした場合、私が期待するものです。また、3番目の(緑色の長方形)と4番目の(灰色の長方形の)画像は何ですか?最後に、これらのtkinterボタンまたはttkボタンはありますか? –

+0

ボタンのサイズを設定するのに 'width'と' height'を使用できませんか? 'padx'と' pady'も試みることができます。 – furas

+0

@BryanOakley投稿を編集しました。ボタンは、必要以上のスペースをとります。ボタンはtkinterボタンです。 – Soundwave

答えて

2

borderwidth=0だけで(それがrelief='flat'をやったと同じ効果を持つように、安堵の印象を与える)の境界線を削除しますが、画像の周りのスペースを削減しません。それを行うには、ボタンのpadxpadyオプションを使用することができます。

self.configure(bg=color['background'], activebackground=color['background'], 
       borderwidth=0, highlightthickness=0, padx=0, pady=0) 
関連する問題