IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Tkinter Python Discussion :

retrouver le Label Id à partir d'un clic sur le Label


Sujet :

Tkinter Python

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    252
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2007
    Messages : 252
    Par défaut retrouver le Label Id à partir d'un clic sur le Label
    Bonjour

    Je relie à clic droit:

    def show(event):
    print "evt ", event.widget

    j'obtiens evt .0123475 quand je clic sur mon Canvas principal
    et evt .0123475.1574322 quand je clic sur un label placé sur le Canvas
    mais je voudrais retrouver l'Id du Label, je comprend pas à quoi correspond ces chiffres

    merci

  2. #2
    Membre Expert Avatar de PauseKawa
    Homme Profil pro
    Technicien Help Desk, maintenance, réseau, système et +
    Inscrit en
    Juin 2006
    Messages
    2 725
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Technicien Help Desk, maintenance, réseau, système et +
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2006
    Messages : 2 725
    Par défaut
    Bonjour ____22,

    Le Widget Canvas Tkinter ne dispose pas d'item label.
    Donc : Soit tu parle d'un Widget Label soit tu parle d'un item text.
    Ceci dit pour l'ID dans un Canvas tu dispose de find_closest
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    def show(event):
        canvas = event.widget
        x = canvas.canvasx(event.x)
        y = canvas.canvasy(event.y)
        print "id dans le canvas :"
        print canvas.find_closest(x, y) # Attention tuple
    Tu peux aussi utiliser CURRENT.

    Bon code

  3. #3
    Membre éclairé
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    252
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2007
    Messages : 252
    Par défaut
    merci
    find closest retourne l'Id du widget le plus proche, d'ailleurs c'est etrange car je n'ai qu'un Label sur le Canvas, avec l'Id 1 mais des clics un peu partout retournent

    evt .12049544 47 (even.x)
    id dans le canvas :
    (1,)
    evt .12049544 208
    id dans le canvas :
    (6,)
    evt .12049544 74
    id dans le canvas :
    (3,)
    evt .12049544 40
    id dans le canvas :
    (1,)
    pourtant je n'ai pas de widget d'Id 3 ou 6

    mais si je clic sur le Label, x=canvas.canvasx(event.x) donne une erreur forcement, normalement ça doit etre possible en cliquant dessus d'avoir l'Id?

    J'ai besoin de l'Id du widget, celui utilisé pour changer la couleur ou les coordonées, comment juste le recuperer quand on clique sur ce widget?

  4. #4
    Membre Expert Avatar de PauseKawa
    Homme Profil pro
    Technicien Help Desk, maintenance, réseau, système et +
    Inscrit en
    Juin 2006
    Messages
    2 725
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Technicien Help Desk, maintenance, réseau, système et +
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2006
    Messages : 2 725
    Par défaut
    Bonjour,

    Tu continu a parler de Label tu parle donc d'un widget Label Tkinter et non d'un item d'un widget canvas.
    Pourquoi utiliser un widget et non un item ?

    @+

  5. #5
    Membre éclairé
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    252
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2007
    Messages : 252
    Par défaut
    item ou widget, je voudrais juste obtenir son Id de creation par l'event

  6. #6
    Membre éclairé
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    252
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2007
    Messages : 252
    Par défaut
    c'est bon j'utilise le event.widget pour retrouver quel label est cliqué

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 1
    Dernier message: 22/06/2014, 16h33
  2. Réponses: 0
    Dernier message: 18/06/2014, 18h20
  3. pop-up à partir d'un clic sur une carte
    Par Hanneke dans le forum IGN API Géoportail
    Réponses: 3
    Dernier message: 15/02/2012, 12h11
  4. Visualisation d'un ligne à partir d'un clic sur une cellule clé
    Par popeye74 dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 18/06/2010, 12h32
  5. clic sur un label
    Par shawty dans le forum ActionScript 1 & ActionScript 2
    Réponses: 2
    Dernier message: 04/06/2008, 16h37

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo