我第一次编写 Tkinter 程序并且对单选按钮有疑问。我想做的是:
- 打开一组图像(一次一个)。
- 打开图像时,使用单选按钮注释值。
- 在列表中收集此值
因此,在此示例中,我有 2 个化合物,列表将有 2 个注释。
我遇到的问题是,如果用户错误地单击单选按钮 2 而不是一个,然后自己更正,则列表将有 4 个项目(第一个图像为 3 个,第二个图像为 1 个)。我该如何处理,以便列表只有 2 个值?
import Tkinter as tk
from PIL import ImageTk, Image
from tkFileDialog import askopenfilename
cmp_list = ["VU435DR","VU684DR"]
li = []
li_final = []
def sel():
selection = str(var.get())
if selection == "1":
li.append("Antagonist")
elif selection == "2":
li.append("Agonist")
for i in range(len(cmp_list)):
root = tk.Tk()
var = tk.IntVar()
ig = str(cmp_list[i] + '.png')
img = ImageTk.PhotoImage(Image.open(ig))
panel = tk.Label(root,image=img)
panel.pack(side = "top",fill="none",expand="no")
#w = tk.Text(height=2,width=50)
#w.pack(side='right")
q = tk.Radiobutton(root,text="Antagonist",command=sel,value=1,variable=var)
q.pack()
r = tk.Radiobutton(root,text="Agonist",command=sel,value=2,variable=var)
r.pack()
root.mainloop()
print li