获取 tkinter 单选按钮所有关联值的便捷方法?

问题描述 投票:0回答:1

有没有一种方便的(内在的)方法来访问单选按钮(tkinter,python)的属性?

我不仅在 Stackoverflow 上而且还在互联网上进行了认真的搜索,有很多类似的问题,但答案似乎意味着唯一的选择是处理“变量”参数,它只给出所选按钮的值。我想访问多个按钮的参数,例如:

  • 关联值(我们在创建按钮时分配给按钮的值)
  • 文本(用户看到的标签)
  • 状态(选择或未选择)

我希望我们能够快速访问,例如 radio_button.value、radio_button.text...

python tkinter radio-button
1个回答
0
投票

您可以迭代单选按钮对象本身的列表,并使用

cget
configure
获取任何小部件选项的值。

以下示例将打印出文本和布尔值以显示是否已选择。

import tkinter as tk

root = tk.Tk()

radios = []
radiovar = tk.IntVar(root, value=1)
for i in range(10):
    radio = tk.Radiobutton(root, text=f"Choice #{i+1:2}", variable=radiovar, value=i+1)
    radios.append(radio)
    radio.pack()

for radio in radios:
    is_selected = radio.cget("value") == radiovar.get()
    print(f"{radio.cget('text')}: selected? {is_selected}")

tk.mainloop()
© www.soinside.com 2019 - 2024. All rights reserved.