[python] schování widgetu v Tk
geon
geon na post.cz
Pondělí Červenec 18 14:04:47 CEST 2005
Vita Titl napsal(a):
>Lze nějak schovat nějakou komponentu - widget - prvek v Tk. Jakože mám tam tlačítko a potřebuje tam dát nějaký jiný ale nechci, aby byly obě současně použitelný a viditelný.
>
>
viz : x6487-methods.htm
# -*- coding: utf8 -*-
"""Ukazkovy priklad v Tkinter."""
from Tkinter import *
priznak=True
def tisk():
global priznak
print priznak
if priznak:
listbox.pack_forget()
else:
listbox.pack()
priznak = not priznak
hlavniOkno=Tk()
hlavniOkno.title('Aplikace v Tk')
listbox=Listbox(hlavniOkno, selectmode=MULTIPLE)
seznam=['Python','C++', 'Java', 'Pascal', 'Basic']
for prvek in seznam:
listbox.insert(END, prvek)
listbox.pack()
tisk=Button(hlavniOkno, text='Tisk', command=tisk)
tisk.pack(ipadx=40)
mainloop()
Tlačítko zde mění po přepnutí polohu :-). Není to záměr, i když to může
být hezké..... Odstranit by to mělo jít pomocí Framů, že si to dáš do
různých framů - framy zustavaji, ikdyž prazdné, a widgety se obnovují
pak na ta smaá místa...
Pokud chceš widget uplne odstranit, pak: listbox.destroy() - jde to
taky, ale pak nejde použít pack(), ale kompletně znovu nadefinovat.
Některé widgety (možná všechny :-) ) umožňují DISABLE, že zašedne a není
možno používat, třebas Entry:
jmeno_widgetu['state']=DISABLED
Tak asi tak ;-)
--
geon
Vyjímka je pravidlo. Rekurzivní.
Další informace o konferenci Python