Python:单击entrybox时隐藏/删除标签

2024-09-28 23:08:28 发布

您现在位置:Python中文网/ 问答频道 /正文

当我点击entrybox时,我试图隐藏用画布制作的标签

不是在我写作的时候,而是在点击的时候 我怎样才能继续

提前谢谢

enter image description here

import tkinter as tk

def handle_click():

    mainCanvas.itemconfig(1, state='hidden')


window = tk.Tk()
window.geometry("500x300")
window.title("window")
mainCanvas = tk.Canvas(window, width = 500, height = 300)
mainCanvas.pack(fill = "both", expand = True)


text_input_name = tk.Entry(window, width = 25)
text_input_name_canvas = mainCanvas.create_window(250, 100, window = text_input_name)
text_input_name.bind("<1>", handle_click)

mainCanvas.create_text(250, 200, text="text", font=("Helvetica", 18), fill="red")


if __name__ == "__main__":
    window.mainloop()

Tags: textnameimportinput画布create标签window
1条回答
网友
1楼 · 发布于 2024-09-28 23:08:28

您已经有了解决方案。您需要传递文本的tag/id,而不是传递1。如果要删除它,请使用canvas.delete(tag_or_id)

这里有一个例子

import tkinter as tk

def handle_click(event):

    mainCanvas.itemconfig(text, state='hidden')
    #mainCanvas.delete(text)


window = tk.Tk()
window.geometry("500x300")
window.title("window")
mainCanvas = tk.Canvas(window, width = 500, height = 300)
mainCanvas.pack(fill = "both", expand = True)


text_input_name = tk.Entry(window, width = 25)
text_input_name_canvas = mainCanvas.create_window(250, 100, window = text_input_name)
text_input_name.bind("<1>", handle_click)

text = mainCanvas.create_text(250, 200, text="text", font=("Helvetica", 18), fill="red")


if __name__ == "__main__":
    window.mainloop()

相关问题 更多 >