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

Keyboard Interactions

If scene.kb.keys is nonzero, one or more keyboard events have been stored, waiting to be processed.

Executing key = scene.kb.getkey() obtains a keyboard input and removes it from the input queue. If there are no events waiting to be processed, getkey() waits until a key is pressed.

If len(key) == 1, the input is a single printable character such as 'b' or 'B' or new line ('\n') or tab ('\t'). Otherwise key is a multicharacter string such as 'escape' or 'backspace' or 'f3'. For such inputs, the ctrl, alt, and shift keys are prepended to the key name. For example, if you hold down the shift key and press F3, key will be the character string 'shift+f3', which you can test for explicitly. If you hold down all three modifier keys, you get 'ctrl+alt+shift+f3'; the order is always ctrl, alt, shift.

Here is a test routine that let's you type text into a label:

 

prose = label() # initially blank text

while 1:

    if scene.kb.keys: # is there an event waiting to be processed?

        s = scene.kb.getkey() # obtain keyboard information

        if len(s) == 1:

            prose.text += s # append new character

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

            prose.text = prose.text[:-1] # erase one letter

        elif s == 'shift+delete':

            prose.text = '' # erase all the text

 

Note that mouse events also provide information about the ctrl, alt, and shift keys, which may be used to modify mouse actions.

You can also input a line of text from the keyboard by highlighting the output window (where print statements are displayed), using the standard Python function raw_input(). The statement text = raw_input() accepts a line of typing ending with Enter and sets text to the input, not including the end-of-line. The statement text = raw_input('Type something: ') prompts for the input before you type.

 

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.