2016-04-13 8 views
0

私は問題を抱えていましたが、私は問題を抱えていましたが、なぜ私が何をしてくれたのか理解できず、私はこれは私が使用したコードで、Tkinterではボタンを作成するクラスを作った: クラスボタン:奇妙なtkinterボタンの動作?

#Takes input for location values of button and assigns them to variable 
def __init__(self, letter, column, row): 
    self.letter = letter 
    self.column = column 
    self.row = row 

#Function to create and display each button using arguments given 
def create(self): 
    self.tkbutton = tk.Button(window, text=self.letter, height = 1, width = 1, bg = colour, font=FONT, 
        command=lambda : check(self.letter)) 
    self.tkbutton.place(relx=self.column, rely=self.row) 

私はサイズを設定しようとしたとき、私が得た奇妙な行動でした。私は widget.winfo_height() を使って高さを求めてから、最大のボタンの幅に似ていましたので、すべてのボタンに使うことができました。私は標準的なボタン構成の高さと幅をこれらの値に設定しましたが、私が行ったときには、サイズが大きくてサイズが異なり、画面の端から出てきました。高さと幅の値を1として入力すると、すべて同じサイズになっているように見えるので、誰でもこの理由を説明できますか?

パイソン3

おかげピクセル

答えて

0

winfo_height戻り値。 heightボタンとラベルのオプションは、ボタンやラベルにイメージが含まれていない限り、値を平均サイズの文字数として扱います。

placeを使用する代わりに、gridに適切なオプションを付けて、すべてのウィジェットがまったく同じサイズであることを確認できます。 GUIをレイアウトするときは、placeが正しい選択であることはほとんどありません。 Tkinterはサイズと位置を計算するのに非常に優れています。

+0

ありがとう、それは完璧です –