【发布时间】:2014-12-26 08:06:00
【问题描述】:
如何在 Python(Tkinter) 中单击按钮时隐藏现有标签?
【问题讨论】:
标签: python python-3.x tkinter label
如何在 Python(Tkinter) 中单击按钮时隐藏现有标签?
【问题讨论】:
标签: python python-3.x tkinter label
这实际上取决于您使用的几何管理器。如果你使用
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()
【讨论】:
使用可以使用grid_remove()来隐藏标签。
喜欢self.myLabel.grid_remove()。如果您想再次显示,请使用self.myLabel.grid()。这将在网格上的原始位置显示小部件。
【讨论】:
如果你为你的小部件使用包:
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()
【讨论】: