Portál AbcLinuxu, 12. května 2025 08:19

Dotaz: tkinter - jak čekat na uživatelský vstup

31.3.2008 16:50 sapi
tkinter - jak čekat na uživatelský vstup
Přečteno: 357×
Odpovědět | Admin
Dobry den, chcel by som urobit aplikaciu v pythone (tkinteri), ktora by v urcitych casovych intervaloch vykonavala nejaku cinnost (napr. a=a+1; print a), ale tak aby som mohol do tej slucky vstupit a napr. zmenit 'a' (obdoba pascalovskeho 'KeyPressed' ak si to dobre pametam). Existuje nejaky sposob ako nechat bezat GUI aplikaciu dokola, ale aby zaroven reagovala na vonkajsie podnety? Dakujem.
Nástroje: Začni sledovat (1) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

geon avatar 31.3.2008 18:40 geon | skóre: 18 | blog: bavaria
Rozbalit Rozbalit vše Re: tkinter
Odpovědět | | Sbalit | Link | Blokovat | Admin
v gui se již neřeší něco jako "KeyPressed". Tam se prostě sváže určitá klávesa s určitou akcí, funkcí, a "KeyPressed" zajišťuje samo gui. Příklad:
import Tkinter, time
from Tkconstants import *

def loop():
    tk.after(1000,loop)  # po 1s zavolat sebe samu
    casX=time.localtime()
    casX=str(casX[3])+':'+str(casX[4])+':'+str(casX[5])
    cas.set(casX)

def volanafunkce(udalost):
    print u"hola hej", udalost
    
tk = Tkinter.Tk()

cas=Tkinter.StringVar()
label = Tkinter.Label(tk, textvariable=cas, anchor='center',justify=CENTER, background='yellow',font=("Helvetica", 124))
label.pack(fill=BOTH, expand=1)
tk.bind("a", volanafunkce)  # svázání "a" s funkcí volanafunkce

loop()
tk.mainloop()
1.4.2008 05:51 sapi
Rozbalit Rozbalit vše Re: tkinter
Vaz. p. Kosina, dakujem za reakciu, myslim teraz mi je to uz trochu jasnejsie. Taktiez dik za skvely serial o pythonovi na inej stranke. Mnoho zdaru!

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.