Visual Python


Interakcija s tipkovnico

Če je "scene.kb.keys" različen od nič, je bila pritisnjena vsaj ena tipka na tipkovnici. Dogodki s tipkovnico so shranjeni in jih lahko obdelamo. 

Vhod iz tipkovnice dobimo s

 tipka = scene.kb.getkey()

Istočasno je ta dogodek umaknjen iz vhodne vrste. Če v tej vrsti ne čaka noben dogodek več, čaka metoda  "getkey()" na pritisk na katerokoli tipko..

Če je "len(key) == 1", obravnavamo klik na enostavno tipko, kot je na primer črka  'b' ali 'B' ali skok v novo vrstico ('\n') ali tabulator ('\t'). Sicer pa je je to bila tipka z več znaki, kot na primer 'escape' ali 'backspace' ali 'f3'. Pri teh klikih je namreč v predponi še ena od tipk  ctrl, alt oziroma shift. Če smo na primer tiščali tipko shift in kliknili na F3, je tipka pomnjena kot niz  'shift+f3'. Če smo kliknili na tri tipke, dobimo na primer niz 'ctrl+alt+shift+f3'.

Primer preskusnega programa: To kar tipkamo, bo vpisano v oznako:

besedilo = label() # sprva je oznaka prazna
while 1:
    if scene.kb.keys: # ali moramo obravnavati kaksno tipko?
        s = scene.kb.getkey() # katera tiipka je to bila?
        if len(s) == 1:
            besedilo.text += s # dodamo novi znak
        elif (s == 'backspace' or s == 'delete') and len(besedilo.text) > 0:
            besedilo.text = besedilo.text[:-1] # brisanje ene crke
        elif s == 'shift+delete':
            besedilo.text = '' # brisanje celotnega besedila

Podatke o tipkah lahko dajo tudi  mišji dogodki, s katerimi lahko spremenimo akcije z miško.

Seveda lahko uporabljamo tudiu standardno Pythonovo funkcijo raw_input(). Primer uporabe:

 besedilo = raw_input('Natipkaj nekaj: ')