在Python中单击按钮时隐藏标签

时间:2014-12-26 08:06:01

标签: python python-3.x tkinter label

在Python(Tkinter)中单击按钮时,如何隐藏现有标签?

3 个答案:

答案 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()