在Python(Tkinter)中单击按钮时,如何隐藏现有标签?
答案 0 :(得分:4)
这实际上取决于您使用的几何管理器。如果你使用
lbl = Tkinter.Label(parent)
要创建标签,您将使用以下其中一项来隐藏它。
lbl.grid_forget()
lbl.pack_forget()
lbl.place_forget()
编辑(工作示例)
import tkinter
class MyClass(tkinter.Frame):
def __init__(self,parent, *args, **kwargs):
tkinter.Frame.__init__(self, parent, *args, **kwargs)
self.btn = tkinter.Button(self,text='Don\'t push me',command=self.buttonCmd)
self.btn.grid(row=0,column=0,sticky='nwes')
self.lbl = tkinter.Label(self,text='Push it, it\'s fun')
self.lbl.grid(row=0,column=1,sticky='nwes')
def buttonCmd(self,*args,**kwargs):
self.lbl.grid_forget()
root = tkinter.Tk()
MyFrame = MyClass(root)
MyFrame.pack(expand='true',fill='both')
root.mainloop()
答案 1 :(得分:2)
使用可以使用grid_remove()
隐藏标签。
比如self.myLabel.grid_remove()
。如果您想再次显示,请使用self.myLabel.grid()
。这将在网格上显示其原始位置的小部件。
答案 2 :(得分:0)
如果您将pack用作小部件:
from tkinter import *
root = Tk()
def hide():
label.pack_forget()
label = Label(root, text="The text")
label.bind("<Button-1>", hide)
label.pack()
root.mainloop()
如果您使用场所进行小部件
将label.pack_forget()
更改为```label.place_forget()
如果您使用网格小部件
将label.pack_forget()
更改为label.grid_forget()