長さを変更し、さまざまな列にまたがるラベルを持つ Python tkinter コードがいくつかあります。長さが変わると、余分なパディングはそれがまたがる列間で共有されるように見えますが、1 つの列だけに追加したいのです。次の単純なインターフェイスの例として、すべての余分なパディングを列 2 に追加して、スピンボックスが増加するにつれて「Move me」ラベルが右に移動するようにしますが、「Keep me still」ラベルはそのままです。誰かがこれを機能させる方法を教えてください。できればクラスなしで(はい、すぐにそれらについて学ぶ必要があることを認識しています:P)
from tkinter import *
from tkinter import ttk
gui = Tk()
toplabel = StringVar()
value = StringVar()
def combofunc(*args):
toplabel.set('* ' * 10 * int(value.get()))
ttk.Label(gui, textvariable=toplabel).grid(column=1, columnspan=3, row=1, sticky=W)
Spinbox(gui, from_=1, to=100, textvariable=value, command=combofunc).grid(column=1, row=2, sticky=W)
ttk.Label(gui, text='Keep me still').grid(column=2, row=2, sticky=W)
ttk.Label(gui, text='Move me').grid(column=3, row=2, sticky=W)
for child in gui.winfo_children():
child.grid_configure(padx=5, pady=5)
combofunc()
gui.mainloop()
編集:列 2 の右側、または列 2 と列 3 の間にパディングを追加することを意味しました。