我创建了一个 CheckButtons(Apples、Rose、Red)列表,每个 CheckButton 带有两个选项(默认、自定义),它们用 RadioButtons 表示,如下所示。 1)。我希望单选按钮仅根据相应的复选框选择处于活动状态,如果未选中复选框,则应禁用,最后, 2)。根据复选框和单选按钮的选择,条目应附加到两个列表(list_d、list_c)。我可以打印带有选定复选框和单选按钮选项的列表。但是根据最后一个单选按钮选择附加了两个列表。所有这些都根据最后的单选按钮选择添加到 list_b 或 list_c。
import tkinter
from tkinter import *
root = Tk()
my_list = {'apple ' : 0, 'rose' : 0, 'red' : 0}
list = []
var_list = []
var = []
de = 'default'
cu = 'custom'
for item in my_list:
my_list[item] = Variable()
radio = Variable()
c = Checkbutton(root, text=item, variable=my_list[item], onvalue=item, offvalue="").pack(anchor=W)
r = Radiobutton(root, text=de, variable=radio, value=de).pack(anchor=E)
r2 = Radiobutton(root, text=cu, variable=radio, value=cu).pack(anchor=E)
var_list.append(my_list[item])
var.append(radio)
def add_to_list():
global list
list = []
list_d = []
list_c = []
for i in var_list:
if i.get() !="":
list.append(i.get())
for v in var:
if radio.get() == de:
list_d.append(v.get())
elif radio.get() == cu:
list_c.append(v.get())
print(list)
print(list_d)
print(list_c)
Button(root, text='OK', command=add_to_list).pack(anchor=W)
root.mainloop()
感谢社区的帮助