我正在尝试在GUI中输入文本,并根据输入的文本做标签。我正在创建的标签旁边创建按钮。当按下这些按钮时,我要删除与这些按钮关联的标签。我该怎么办?
目前,我有一些代码如下:
import tkinter as tk
chosenvarlabel = []
cancelbutton = []
label_relyPlacement = 0.4 # these allow variables to be displayed one below the other after #confirmation
label_relyIncrement = 0.0
root = tk.Tk()
IntroCanvas = tk.Canvas(height = 300, width = 300)
IntroCanvas.pack()
def cancel():
pass
# chosenvarlabel[cancelbutton[]].place_forget() # unable to pass index here
def choose():
global label_relyIncrement, chosenvarlabel, cancelbutton
var1 = varentry1.get()
var2 = varentry2.get()
label_relyIncrement = label_relyIncrement + 0.1
chosenvarlabel.append(tk.Label(root, text = var1 + " " + var2))
chosenvarlabel[len(chosenvarlabel)-1].place(relx = 0.1, rely = label_relyPlacement + label_relyIncrement)
cancelbutton.append(tk.Button(root, text = ' X', command = cancel))
cancelbutton[len(chosenvarlabel)-1].place(relx = 0.6, rely = label_relyPlacement + label_relyIncrement)
varentry1 = tk.Entry(width = 6)
varentry1.place(relx = 0.2, rely = 0.2)
varentry2 = tk.Entry(width = 6)
varentry2.place(relx = 0.4, rely = 0.2)
myButton = tk.Button(root, text ='choose', command = choose)
myButton.place(relx = 0.6, rely = 0.2)
root.mainloop()
我正在考虑,因为每个按钮都将在'cancelbutton'列表中,如果我以某种方式将该按钮的索引传递给了'cancel'函数,则将删除列表selectedvarlabel中相同索引的标签。
但是我无法使用cancelbutton.index()获得索引
创建的取消按钮列表是:
[<tkinter.Button object .!button2>,
<tkinter.Button object .!button3>,
<tkinter.Button object .!button4>]
但是这些元素不能通过'index'访问。这是为什么?我该怎么办?
谢谢
R