Problème Tkinter coordonnées

Fermé
Sterben13 Messages postés 4 Date d'inscription mercredi 31 mai 2017 Statut Membre Dernière intervention 31 mai 2017 - 31 mai 2017 à 11:56
 gudu - 31 mai 2017 à 23:08
Bonjour à tous,

Je suis un élève de seconde et je dois faire un programme tkinter que le professeur m'a donner en exercice mais je n'arrive pas à trouver sur internet ou sur les documents que j'ai à ma disposition la solution à mon problème.
J'ai introduit une image d'un clavier dans un canvas avec tkinter et ce que je voudrais faire est tout simplement de dire à mon programme que les coordonnées (x1,y1,x2,y2) sont égale à une touche du clavier.
Merci d'avance pour votre aide.

3 réponses

tkinter va pas deviner pour toi quelles sont les coordonnées des touches dans ton image.

Y a pas d'autre choix que de renseigner chaque coordonnées des touches sur ton image, c'est fastidieux et long à faire avec un logiciel graphique.

Mais tu peux toujours t'amuser à faire un simple script qui demanderait un numéro de touche, et 2 clics pour déterminer les coordonnées de la touche sur l'image que tu enregistrerais au fur et à mesure.
1
Sterben13 Messages postés 4 Date d'inscription mercredi 31 mai 2017 Statut Membre Dernière intervention 31 mai 2017
31 mai 2017 à 21:58
Oui je connais les coordonnées des touches sur l'image mais je ne connais pas la/les lignes de codes qui diront au programme que t'elle coordonnées sont égale à une touche de ce clavier (l’image).
0
Sterben13 Messages postés 4 Date d'inscription mercredi 31 mai 2017 Statut Membre Dernière intervention 31 mai 2017
31 mai 2017 à 22:08
Enfaite j'aimerais tout simplement créé un fonction qui dira que les coordonnées x,y,x1,y1 sont égale à la touche du clavier 1. Pour pouvoir plus tard utiliser cette fonction pour par exemple demander à l’utilisateur d'entré sont code d'accès (il devra donc cliquer sur le clavier de l'image pour pouvoir entré les code 1234 par exemple.
0
gudu > Sterben13 Messages postés 4 Date d'inscription mercredi 31 mai 2017 Statut Membre Dernière intervention 31 mai 2017
31 mai 2017 à 23:08
Si tu connais toutes les coordonnées des touches, bien c'est facile.

Il faut d'abord enregistrer toutes tes coordonnées dans un itérable, en l’occurrence ici un dict serait adéquat, du genre :

coords_touches = {'a':(x, y, x1, y1),
                  'b':(x, y, x1, y1,
                  # ainsi de suite
                  }


Ainsi quand tu récupères la coordonnée x et y du clic souris, il reste plus qu'à parcourir le dict et déterminer si le x du clic est entre x et x1, et pareil pour le y.

Ce qui donnerait grosso modo :


for touche, coords in coords_touches.items():
    if coords[0] <= clicX <= coords[2] and coords[1] <= clicY <= coords[3]:
        touche_clavier = touche
        break
else:
    touche_clavier = None


touche_clavier contiendra donc la touche utilisée sur ton image ou None si pas trouvée.
0
Noobinformatic Messages postés 227 Date d'inscription lundi 15 février 2016 Statut Membre Dernière intervention 17 juin 2018 6
31 mai 2017 à 12:16
heu... quelles touches pour faire Quoi ?
0
Sterben13 Messages postés 4 Date d'inscription mercredi 31 mai 2017 Statut Membre Dernière intervention 31 mai 2017
31 mai 2017 à 17:05
J'ai mise une image d'un clavier(avec des touches dessus) et je voudrais dire a mon programme que entre les coordonnées(x1,y1,x2,y2) il se trouve la touche 1(qui est enfaite sur mon clavier).
0