Python tkinter-删除带有关联按钮的单个标签

问题描述 投票:0回答:1

我正在尝试在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

button tkinter label
1个回答
0
投票
© www.soinside.com 2019 - 2024. All rights reserved.