⇨ MENU ⇨ MODULES ⇨ turtle ⇨ RawTurtle
turtle.onclick ( )
DESCRIPTION.
Définit la fonction à exécuter lorsque l'utilisateur clique sur la tortue graphique.
SYNTAXE.
turtle.onscreenclick ( fonction , bouton , mode )
turtle ⇨ tortue graphique anonyme [ OBLIGATOIRE ]
.onclick ( ) ⇨ appel de la méthode [ OBLIGATOIRE ]
fonction ⇨ fonction à exécuter [ OBLIGATOIRE ]
bouton ⇨ bouton de la souris à surveiller [ optionnel ]
mode ⇨ mode de portée de l'appel [ optionnel ]
ou
TOR_Tortue.onclick ( fonction , bouton , mode )
TOR_Tortue ⇨ instance de la classe turtle.RawTurtle ( ) [ OBLIGATOIRE ]
.onclick ( ) ⇨ appel de la méthode [ OBLIGATOIRE ]
fonction ⇨ fonction à exécuter [ OBLIGATOIRE ]
bouton ⇨ bouton de la souris à surveiller [ optionnel ]
mode ⇨ mode de portée de l'appel [ optionnel ]
REMARQUES.
fonction doit être une fonction, quelconque mais valide. Le nom de la fonction appelée, ne doit pas être suivie des parenthèses car aucun argument ne peut être passé lors de l'appel de la fonction. Attention cependant, car turtle fournit, automatiquement, l'abscisse et l'ordonnée du pointeur de la souris comme arguments à la fonction à exécuter, qui devra donc le prévoir dans sa définition. Toutefois, si des valeurs doivent être fournis pour le traitement correct de la fonction appelée, fonction pourra être une fonction anonyme créée avec l'instruction lambda.
Si fonction vaut None, le lien entre le clique du bouton bouton et la fonction fonction est détruit. La fonction fonction ne sera plus exécutée si cet événement survient.
bouton doit être int ( ) identifiant le bouton de la souris à surveiller. L'identification des boutons de la souris dépend du système, mais en général :
- 1, équivaut au bouton gauche ;
- 2, équivaut à la molette, ou au bouton centrale en son absence ;
- 3, équivaut au bouton droite.
Si bouton est omis, c'est le bouton par défaut, en général le bouton gauche, qui sera surveillé pour la liaison avec la fonction fonction. Dans ce cas, mode doit aussi être absent.
mode doit être bool ( ), s'il vaut :
- True, l'appel est ajouté à la liste des liaisons existantes, et plusieurs fonctions peuvent être exécutées ;
- False, valeur par défaut, l'appel remplace tous les liaisons précédents.
Note : ne pas confondre les deux fonctions suivantes :
turtle.onclick ( ), héritée de la classe turtle.RawTurtle ( ), qui surveille les cliques uniquement sur la tortue graphique ;
turtle.screen.onclick ( ), héritée de la classe turtle.Screen ( ), qui surveille les cliques sur toute la toile.
Contrairement à turtle.screen.onclick ( ), turtle.onclick ( ) ne nécessite pas le lancer la boucle de surveillance des événements avec la méthode turtle.screen.mainloop ( ).
turtle.Screen.onscreenclick ( ), qui surveille la survenue des cliques de souris partout sur la toile, pour exécuter une fonction associée, est une méthode une peu particulière, car bien qu'héritée de la classe turtle.Screen ( ), elle ne s'emploie qu'avec la tortue anonyme, et sans être préfixée. Par exemple : turtle.onscreenclick ( FNC_Action , 1 , True ), exécutera le code de la fonction FNC_Action si un clique, du bouton 1, de la souris est détectée n'importe où sur la toile. Cette méthode est un alias, et un raccourcit, de turtle.screen.onscreenclick ( ). Voir la classe turtle.Screen ( ) pour plus de détails.
Voir aussi, turtle.ondrag ( ), qui associe une fonction au cliquer-glisser de souris sur la tortue.
Voir aussi, turtle.onrelease ( ), qui associe une fonction au relachement d'un bouton de souris sur la tortue.
La méthode turtle.onclick ( ) est une méthode commune du module turtle et n'a pas besoin d'être préfixée.
EXEMPLE.
import turtle
def FNC_Gauche ( Qabscisse , Qordonnee ) :
turtle.forward ( 40 )
turtle.left ( 36 )
def FNC_Droite ( Qabscisse , Qordonnee ) :
turtle.forward ( 40 )
turtle.right ( 36 )
turtle.shape ( "turtle" )
turtle.penup ( )
turtle.speed ( 1 )
turtle.home ( )
turtle.onclick ( FNC_Gauche , 1 , True )
turtle.onclick ( FNC_Gauche, 2 , True )
turtle.onclick ( FNC_Droite , 2 , True )
turtle.onclick ( lambda *event : turtle.home ( ) , 2 , True )
turtle.onclick ( FNC_Droite , 3 , True )
Votre aide est précieuse pour améliorer ce site, alors n'hésitez pas à faire part de
Dans la LOGITHEQUE de MON PYTHON PAS A PAS
vous trouvez des suggestions de projets simples et classiques pour
ooo
TESTER - DÉCOUVRIR - PRATIQUER - APPROFONDIR - EXPLORER
ooo
la programmation récréative avec le langage PYTHON 3
avec un exemple de résolution à télécharger pour vous inspirer.