【发布时间】:2021-08-23 23:52:04
【问题描述】:
我正在 Python tkinter 中制作 GUI。我怎样才能对齐这些 Raidobuttons 使它们都排成一列并且列并排。特别是我希望我的列在左右中间,但现在它们是这样显示的:
这是我的单选按钮代码:
selected_device = StringVar()
devices = ['CAN', 'US', 'EU', 'AU']
for device in devices:
r = Radiobutton(
root,
text=device,
value=device,
variable=selected_device
)
r.pack(anchor="ne")
selected_source = StringVar()
sources = ['Raw Data', 'Encoded Data']
for source in sources:
r = Radiobutton(
root,
text=source,
value=source,
variable=selected_source
)
r.pack(anchor="nw")
selected_environment = StringVar()
environments = ['Sprint', 'RC', 'Staging']
for environment in environments:
r = Radiobutton(
root,
text=environment,
value=environment,
variable=selected_environment
)
r.pack(anchor="n")
【问题讨论】:
-
Have a look at this。如果您确实需要更多帮助,请提供minimal reproducible example。
-
您不能将相同的变量用于多个
Radiobutton()。 -
@Marino 事实上,单选按钮被设计成共享一个公共变量,不像复选按钮用于多选。
-
你是对的,只需将
StringVar()设置为None或所有单选按钮都会被选中。 -
我不确定我是否明白您的问题,但请尝试使用框架。 3 组单选按钮列需要 3 个框架。此外,如果您不想使用框架,则需要切换到使用
.grid