Accueil
Rechercher:
sur developpez.com sur les forums
Forums | Tutoriels | F.A.Q's | Participez | Hébergement | Contacts
Accueil Conception Java DotNET Visual Basic  C  C++ Delphi MS-Office SQL & SGBD Oracle  4D  Business Intelligence
Club Emploi Blogs   TV   Dév. Web PHP XML Python Autres 2D-3D-Jeux Sécurité Windows Linux PC Mac
FORUM PYTHON F.A.Q PYTHON TUTORIELS PYTHON SOURCES PYTHON OUTILS PYTHON LIVRES PYTHON
Description of Objects in VPython

Interactions clavier

Si scene.kb.keys est non nul, un ou plusieurs évènements clavier ont été stockés, en attendant d'être traités.

L'exécution de key = scene.kb.getkey() récupère la touche entrée et la supprime de la file d'attente d'entrée. S'il n'y a pas d'évènement dans la file d'attente, getkey() attend jusqu'à ce qu'une touche soit pressée.

Si len(key) == 1, l'entrée est un caractère unique imprimable tel que 'b' ou 'B' ou un retour à la ligne ('\n') ou une tabulation ('\t'). Autrement la clé est une chaîne de caractères telle que 'escape' ou 'backspace' ou 'f3'. Pour de telles entrées, les touches ctrl, alt, et shift sont associées au nom de la clé. Par exemple, si vous maintenez appuyée la touche shift et que vous pressez F3, la clé sera la chaîne de caractères 'shift+f3', que vous pouvez tester explicitement. Si vous maintenez appuyées les 3 touches modificatrices, vous obtenez 'ctrl+alt+shift+f3'; l'ordre est toujours ctrl, alt, shift.

Voici une routine de test qui vous permet de taper un texte dans un label:

 

prose = label() # initiallement un texte vide

while 1:

    if scene.kb.keys: # y-a-t-il un évènement attendant d'être traité ?

        s = scene.kb.getkey() # obtention de l'information clavier

        if len(s) == 1:

            prose.text += s # ajout du nouveau caractère

        elif (s == 'backspace' or s == 'delete') and len(prose.text) > 0:

            prose.text = prose.text[:-1] # efface une lettre

        elif s == 'shift+delete':

            prose.text = '' # efface tout le texte

 

Notez que les évènements souris fournissent aussi des renseignements sur les touches ctrl, alt et shift, qui peuvent être utilisées pour modifier les actions de la souris.

Vous pouvez aussi entrer une ligne de texte du clavier en soulignant la fenêtre de sortie (où les instructions print seront affichées) et en utilisant la fonction standard de Python raw_input(). L'instruction text = raw_input() accepte une ligne de caractères finissant par l'appui de la touche Entrée et associe à text ce qui a été tapé, en n'incluant pas la fin de ligne. L'instruction text = raw_input('Type something: ') vous invite à entrer quelque chose au clavier.

 

Copyright © 2006 Guillaume et Yoann Duriaud. Aucune reproduction, même partielle, ne peut être faite de ce site et de l'ensemble de son contenu : textes, documents, images, etc sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu'à 3 ans de prison et jusqu'à 300 000 E de dommages et intérêts. Cette page est déposée à la SACD.

Responsable bénévole de la rubrique Python : Guillaume Duriaud - Contacter par EMail :
Vos questions techniques : forum d'entraide Python - Publiez vos articles, tutoriels et cours
et rejoignez-nous dans l'équipe de rédaction du club d'entraide des développeurs francophones
Nous contacter - Copyright © 2000-2008 www.developpez.com - Legal informations.