我是Tkinter模块的新手(对python来说还是新手)我不能为我的生活找出如何使用remove或forget方法隐藏网格中的小部件。我似乎无法在网上找到相关的例子,教程文档除了语法之外还给了我很多东西。以下是我用来试图弄清楚的代码。如果这太过琐碎而道歉......
from tkinter import *
from tkinter import ttk
def delete():
#where I would like to delete the label 'label'
window = Tk()
window.title("Window")
window.configure(background='#e4e5ff')
label = ttk.Label(window, text='text').grid(column=1, row=0)
ttk.Button(window, text='text',command = delete).grid(column=2,row=0)
window.mainloop()
答案 0 :(得分:0)
要做到这一点,你必须使用2行来定义和布局小部件(无论如何这都是很好的做法)。
from tkinter import *
from tkinter import ttk
def delete():
label.grid_forget()
window = Tk()
window.title("Window")
window.configure(background='#e4e5ff')
label = ttk.Label(window, text='text')
label.grid(column=1, row=0)
btn = ttk.Button(window, text='text',command = delete)
btn.grid(column=2,row=0)
window.mainloop()
但是,我怀疑这是一个XY问题。您是否尝试删除它以将其替换为另一个标签?如果是这样,您需要更新当前标签,而不是删除它并替换它。
def delete():
label.config(text='new_text')