tkinter で、ボタンを上から並べてみました。ボタンなどのウィジェットを上から並べるだけなら簡単です。とにかく素早く作りたいなら、上から並べる方式は良い方法だと思います。
実行結果

実際に書いたコード
import tkinter as tk
# ウィジェットの作成と配置
root = tk.Tk()
root.title("ボタンを上から並べる")
root.geometry("400x200")
btn1 = tk.Button(root, text="ボタン1")
btn1.pack(pady=10)
btn2 = tk.Button(root, text="ボタン2")
btn2.pack(pady=10)
btn3 = tk.Button(root, text="ボタン3")
btn3.pack(pady=10)
btn4 = tk.Button(root, text="ボタン4")
btn4.pack(pady=10)
# メインループ
root.mainloop()
コードの解説
ボタンが上から順に並ぶ理由
tkinter では、ウィジェットを配置する方法として pack / grid / place の3種類があります。 このコードでは pack を使っているため、ボタンが自然に上から順に積み重なるように並びます。
pack による縦並びの仕組み
btn1 = tk.Button(root, text="ボタン1")
btn1.pack(pady=10)
Buttonでボタンを作成します。pack()を呼ぶと、そのウィジェットが親ウィジェットの中に配置されます。- pack のデフォルト動作は 縦方向(上→下)に積み重ねる ことです。
つまり、次のように順番に pack していくと、 呼び出した順に上から並んでいきます。
btn1.pack()
btn2.pack()
btn3.pack()
btn4.pack()
余白(pady)の役割
btn1.pack(pady=10)
pady=10は 上下に10pxの余白をつける指定です。- これにより、ボタン同士がくっつかず、見やすく並びます。
ボタンが4つ並ぶ流れ
btn1 = tk.Button(root, text="ボタン1")
btn1.pack(pady=10)
btn2 = tk.Button(root, text="ボタン2")
btn2.pack(pady=10)
btn3 = tk.Button(root, text="ボタン3")
btn3.pack(pady=10)
btn4 = tk.Button(root, text="ボタン4")
btn4.pack(pady=10)
- 1つ目のボタンが一番上
- 2つ目がその下
- 3つ目、4つ目と続く
- すべて pack で配置しているため、上から順に縦に並ぶという結果になります。
まとめ
- pack() は「縦に積む」レイアウト方式です。
- 呼び出した順に上から並びます。
padyで上下の余白を調整できます。



人気ブログランキング ブログパーツ