AANTAL = [(1,"1"),(2,"2"),(3,"3"),(4,"4"),(5,"5"),(6,"6"),]
v= StringVar()
v.set("1")
for text, mode in AANTAL:
but = Radiobutton(Main,padx=20, pady=10,font=('arial', 20, "bold"), bd=4,
text=text, variable=v, value=mode, indicatoron=0)
but.grid()
上面的代码显示了一些编号为1到6的单选按钮。但是,它会垂直显示而不是水平显示。有谁知道我怎么解决这个问题?
我已经尝试将row=0
放在网格命令中,但这只是将按钮叠加在一起而不是将它们分散在一行上。
答案 0 :(得分:0)
grid
有两个放置小部件的选项。 row
和 column
。您需要指定两者。
buttons = []
vars = []
for idx, (text, mode) in enumerate(AANTAL):
vars.append(StringVar(value="1"))
buttons.append(Radiobutton(Main,padx=20, pady=10,font=('arial', 20, "bold"), bd=4, text=text, variable=vars[-1], value=mode, indicatoron=0))
buttons[-1].grid(row=0, column=idx)
此外,在使用循环创建窗口小部件时,最好将它们存储在列表中,因为您可以稍后在程序中访问它们。