2014-12-26 2 views
1

Как скрыть существующую метку при нажатии кнопки на Python (Tkinter)?Скрыть ярлык при нажатии кнопки в Python

+0

Возможный дубликат [В Tkinter есть ли способ сделать виджет невидимым?] (Http://stackoverflow.com/questions/3819354/in-tkinter-is-there-any-way-to-make- a-widget-not-visible) –

ответ

2

Это действительно зависит от используемого вами менеджера геометрии. Если вы используете

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

@ baited- Спасибо! Прекрасно работает для меня. Именно то, что мне нужно. : D – kienah

0

Использование можно использовать grid_remove(), чтобы скрыть метку. как self.myLabel.grid_remove(). Если вы хотите снова показать его, используйте self.myLabel.grid(). Это покажет виджет в исходном положении на сетке.

Смежные вопросы