【问题标题】:How to place radiobuttons horizontal in python如何在python中水平放置单选按钮
【发布时间】:2017-08-04 14:40:46
【问题描述】:
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 放在网格命令中,但这只会将按钮堆叠在一起,而不是将它们分散在一行中。

【问题讨论】:

  • 在问这样一个基本问题之前,您应该阅读grid 命令的文档。 grid 具有可让您指定特定行和特定列的选项。

标签: python tkinter radio-button


【解决方案1】:

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) 

此外,当使用循环创建小部件时,最好将它们存储在列表中,因为您可以稍后在程序中访问它们。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-02-06
    • 2022-08-11
    • 2017-03-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-07-29
    • 1970-01-01
    相关资源
    最近更新 更多