2017-07-27 10 views
-3

すべてのウィジェットが1つの行に表示されますか?これをどうやって止めるのですか?私は別の行に異なるウィジェットが必要です。私はそれを見上げていると、すべての例は、私のコードのようなものですが、私のコードはまだウィジェットはすべて1つの行にあり、私はそれらが欲しくないです

#Placing widgets 
Label1.grid(row = 0, column = 1, rowspan = 100) 
FutureButton.grid(row = 3, column = 2, rowspan = 3) 
ResetButton.grid(row = 3, column = 3, rowspan = 2, padx = 10) 

window.mainloop() 
+3

「行= 3」に両方のボタンを配置しています。 – Lafexlos

答えて

1

すべてのウィジェットを一列に出てくる動作しませんか?これをどうやって止めるのですか?

答えは「同じ行に入れない」です。明示的にFutureButtonResetButtonを同じ行に配置しました。

rowspanの使用もこの問題の原因となります。たとえば、行の0にrowspanを100としてLabelを配置すると、100行で使用される領域の中央に配置されます。大部分の行は空であるため、表示されませんが、Label1は行0,1,2で使用されるスペースの中央に配置されます。これにより、行が同じ行にあるように見えます。

グリッドを視覚化する簡単な方法は、使用するすべての行と列に何かを配置することです。あなたの元のコードは、100列と4行を持っているので、あなたはこのような何かを行うことができます:

for row in range(100): 
    for column in range(4): 
     f = tk.Frame(root, background="bisque", width=2, height=2) 
     f.grid(row=row, column=column, sticky="nsew", padx=2, pady=2) 

私は上記を行うと、私は次の画像のように見える画像を取得します。どのウィジェットも実際には同じ行にありません。ほとんどの行が空であるため、元のコードにしか表示されません。

screenshot showing 100 rows and 4 columns

最も簡単な解決策は、同じ行に入れることです、そしてないに使用rowspan

Label1.grid(row = 0, column = 1) 
FutureButton.grid(row = 1, column = 2) 
ResetButton.grid(row = 2, column = 3, padx = 10) 
+0

okありがとう、これは本当に助けになりました。問題を説明し、コードと画像を表示する時間をとってくれてありがとうございました。あなたは伝説です –

関連する問題