初めて Tkinter プログラムを作成していますが、ラジオ ボタンについて質問があります。私がやろうとしていることはこれです:
- 一連の画像を (一度に 1 つずつ) 開きます。
- 画像を開いたときに、ラジオ ボタンを使用して値に注釈を付けます。
- この値をリストに集める
したがって、この例では 2 つの化合物があり、リストには 2 つの注釈があります。
私が抱えている問題は、ユーザーがラジオボタン 1 ではなく 2 をクリックして誤って修正した場合、リストには 4 つの項目 (最初の画像に 3 つ、2 番目の画像に 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