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 :

changer une vaiable avec la méthode tag_bind


Sujet :

Tkinter Python

  1. #1
    Membre averti
    Homme Profil pro
    Lycéen
    Inscrit en
    Octobre 2023
    Messages
    25
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Doubs (Franche Comté)

    Informations professionnelles :
    Activité : Lycéen

    Informations forums :
    Inscription : Octobre 2023
    Messages : 25
    Par défaut changer une vaiable avec la méthode tag_bind
    Bonjour j'ai une question toute bête je veut modifier une variable lors du clic sur une image mais je ne veut pas créer de fonction a appeler car cela ferait beaucoup de répétitions. J'ai fait ce code mais il renvoie le message d'erreur suivant: Canvas.tag_bind() got an unexpected keyword argument 'choix_promo'
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    choix_promo = None
    promo_dame_n = c_echecs.create_image(725, 600, image=dame_n1)
    c_echecs.tag_bind(promo_dame_n, '<1>', choix_promo = "dame")

  2. #2
    Expert éminent
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 778
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Architecte technique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2008
    Messages : 21 778
    Par défaut
    Citation Envoyé par Chipster_25 Voir le message
    j'ai une question toute bête je veut modifier une variable lors du clic sur une image
    .(tag_)bind(...,'<1>', fct) dit à tkinter d'appeler la fonction fct lorsque l'utilisateur "clique" sur...
    Et pour qu'une fonction modifie une variable (globale), il faut qu'elle ait déclaré celle-ci via le mot clé global.

    => vous n'avez pas d'autre choix que de créer une fonction à appeler.

    Et s'il y en a trop, c'est probablement un problème(*) mais vous ne le résoudrez pas comme çà (d'autant que ça ne marchera pas).
    (*) problème que vous n'avez pas exposé...

    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

  3. #3
    Membre averti
    Homme Profil pro
    Lycéen
    Inscrit en
    Octobre 2023
    Messages
    25
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Doubs (Franche Comté)

    Informations professionnelles :
    Activité : Lycéen

    Informations forums :
    Inscription : Octobre 2023
    Messages : 25
    Par défaut
    on ne peut donc pas faire autre chose que d'appeler une fonction si j'ai bien compris et il me semble que je ne peut pas donner d'arguments a cette fonction (corrigez moi si je me trompe). je vais devoir trouver une autre solution mais merci de votre aide.

  4. #4
    Expert éminent
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 778
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Architecte technique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2008
    Messages : 21 778
    Par défaut
    Citation Envoyé par Chipster_25 Voir le message
    et il me semble que je ne peut pas donner d'arguments a cette fonction (corrigez moi si je me trompe)
    On peut "tricher" pour passer des arguments à cette fonction. D'ailleurs, elle en reçoit un d'office, un objet instance d'Event.

    note: je dis "tricher" car ce faisant, ce ne sera plus tout à fait une fonction. Mais ce n'est déjà plus une fonction "normale" puisqu'elle n'est pas appelée depuis votre code mais par tkinter (et ce qu'elle pourra retourner ne sera accessible qu'à tkinter).

    Ceci dit, vous feriez mieux d'exposer le problème que vous cherchez à résoudre plutôt que vous lancer à imaginer des solutions qui ne marcheront peut être pas.. ou qui seront décalée par rapport à ce que proposent déjà python et tkinter.

    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

  5. #5
    Membre averti
    Homme Profil pro
    Lycéen
    Inscrit en
    Octobre 2023
    Messages
    25
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Doubs (Franche Comté)

    Informations professionnelles :
    Activité : Lycéen

    Informations forums :
    Inscription : Octobre 2023
    Messages : 25
    Par défaut
    C'est bon j'ai trouvé un moyen de faire ce que je voulais avec une fonction sans qu'il ait d'autres problèmes merci pour votre aide.

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

Discussions similaires

  1. Impossible de changer une coquille avec MakeIndex
    Par czech04 dans le forum Bibliographies - Index - Glossaires
    Réponses: 6
    Dernier message: 31/08/2017, 22h46
  2. Changer une forme avec thread
    Par shawidoom dans le forum Autres ERP
    Réponses: 0
    Dernier message: 13/02/2013, 22h23
  3. Impossible de changer une valeur avec les signaux et les slots
    Par dimitricouturier dans le forum Débuter
    Réponses: 4
    Dernier message: 27/08/2012, 15h39
  4. innerHTML Erreur pour changer une div avec if
    Par Irokoi dans le forum Général JavaScript
    Réponses: 11
    Dernier message: 28/09/2011, 22h22
  5. Réponses: 5
    Dernier message: 30/01/2008, 20h24

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