如何更改 python 中的单选按钮状态?

How to change Radiobutton state in python?

如何更改 python 中的单选按钮状态?我参考了一些例子。

我有单选按钮的依赖性:

  1. 选项A 选项B
  2. 选项 1 选项 2
  3. 选项一 选项二

默认情况下,我只想 select 编辑选项 A,其他选项禁用。当用户 select 选项 B 时选项 A 应该禁用,然后选项 1、选项 2、选项 i 和选项 ii 激活,这意味着用户现在可以 select 这些。

如何更改选项的状态并创建依赖项?

import tkinter as tk
master = tk.Tk()
master.title("Tool")
master.geometry("700x300")
var = tk.StringVar()
var.set(' ') 
def sel():
   selection =  (var.get())
   print(selection)
   if(selection==1):
       R4.config(state=["disabled"])
tk.Label(master, text="SELECT --").grid(row=0, column=0, padx=10, pady=0,sticky='w')
R1 = tk.Radiobutton(master, text="Option A", variable=var, value=1, command=sel).grid(row=2,column=1)
R2 = tk.Radiobutton(master, text="Option B", variable=var, value=2, command=sel).grid(row=2,column=2)
R3 = tk.Radiobutton(master, text="Option 1", variable=var, value=3, command=sel).grid(row=3,column=1)
R4 = tk.Radiobutton(master, text="Option 2", variable=var, value=4, command=sel).grid(row=3,column=2)
R5 = tk.Radiobutton(master, text="Option i", variable=var, value=5, command=sel).grid(row=4,column=1)
R6 = tk.Radiobutton(master, text="Option ii", variable=var, value=6, command=sel).grid(row=4,column=2)
master.mainloop()

根据我从你的问题中了解到的,我得到了:

import tkinter as tk
master = tk.Tk()
master.title("Tool")
master.geometry("700x300")
var = tk.StringVar()
var.set('5') 
def sel():
   selection =  (var.get())
   print(selection)
   if(selection=='1'):
       R6.config(state="disabled")
       R3.config(state="disabled")
       R5.config(state="disabled")
       R4.config(state="disabled")
   elif selection=='2':
       R1.config(state="disabled")
       R6.config(state="normal")
       R3.config(state="normal")
       R5.config(state="normal")
       R4.config(state="normal")
   else:
       R1.config(state="normal")
       R2.config(state="normal")
       R6.config(state="normal")
       R3.config(state="normal")
       R5.config(state="normal")
       R4.config(state="normal")

tk.Label(master, text="SELECT --").grid(row=0, column=0, padx=10, pady=0,sticky='w')
R1 = tk.Radiobutton(master, text="Option A", variable=var, value="1", command=sel)
R1.grid(row=2,column=1)
R2 = tk.Radiobutton(master, text="Option B", variable=var, value="2", command=sel)
R2.grid(row=2,column=2)
R3 = tk.Radiobutton(master, text="Option 1", variable=var, value='3', command=sel)
R3.grid(row=3,column=1)
R4 = tk.Radiobutton(master, text="Option 2", variable=var, value='4', command=sel)
R4.grid(row=3,column=2)
R5 = tk.Radiobutton(master, text="Option i", variable=var, value='5', command=sel)
R5.grid(row=4,column=1)
R6 = tk.Radiobutton(master, text="Option ii", variable=var, value='6', command=sel)
R6.grid(row=4,column=2)
master.mainloop()