【问题标题】:Hide label when a button is clicked in Python在 Python 中单击按钮时隐藏标签
【发布时间】:2014-12-26 08:06:00
【问题描述】:

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

【问题讨论】:

标签: python python-3.x tkinter label


【解决方案1】:

这实际上取决于您使用的几何管理器。如果你使用

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

【讨论】:

  • @baited- 谢谢!对我来说很好。正是我需要的。 :D
【解决方案2】:

使用可以使用grid_remove()来隐藏标签。 喜欢self.myLabel.grid_remove()。如果您想再次显示,请使用self.myLabel.grid()。这将在网格上的原始位置显示小部件。

【讨论】:

    【解决方案3】:

    如果你为你的小部件使用包:

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

    【讨论】:

      猜你喜欢
      • 2012-06-24
      • 2010-11-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-09-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多