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 :

[Button] changer la couleur lors d'un clic


Sujet :

Tkinter Python

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    237
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 237
    Points : 83
    Points
    83
    Par défaut [Button] changer la couleur lors d'un clic
    Bonjour,

    ma question est simple : je voudrais que mon bouton vert devienne rouge le temps de l'execution de mon appli...

    voila mon code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
     
        def button_change_color():
            lancement.bg('red')
        def lancement():
            lancement.bind('<ButtonPress>', button_change_color)
            self.callbackExecuterScenario ()
        lancement = Button(fenetre, text=LBL_LANCEMENT[self.IdxLangue], command=lancement, bg = 'green')
        lancement.pack(side=Tix.RIGHT)

    Je débute en python...
    Merci de votre aide

  2. #2
    Membre du Club
    Homme Profil pro
    Lycéen
    Inscrit en
    Février 2010
    Messages
    83
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : France

    Informations professionnelles :
    Activité : Lycéen

    Informations forums :
    Inscription : Février 2010
    Messages : 83
    Points : 46
    Points
    46
    Par défaut
    Pour changer la couleur :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    lancement.configure(bg='red')
    Pour lier l'évenement button_change_color, je pense qu'il est lpus logique de le faire après l'instanciation du widget :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    lancement = Button(fenetre, text='bouton', command=lancement, bg = 'green')
    lancement.bind('<ButtonPress>', button_change_color) 
    lancement.pack(side=Tix.RIGHT)
    Et si tu utilise bind, un argument sera transmit à la fonction : l’évènement. Donc :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    def button_change_color(event):
        lancement.configure(bg='red')
    Cordialement.

  3. #3
    Expert confirmé 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
    Points : 4 005
    Points
    4 005
    Par défaut
    Bonjour,

    Pourquoi pas tout simplement:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
        def lancement():
            lancement.configure(bg='red')
            # Ton traitement
            self.callbackExecuterScenario()
            # Fin du traitement
            lancement.configure(bg='green')
        lancement = Button(fenetre, text=LBL_LANCEMENT[self.IdxLangue], command=lancement, bg = 'green')
        lancement.pack(side=Tix.RIGHT)
    Tu as déjà un 'callback' via le command du widget Button. Autant l'utiliser non ?

    Bon code

    Petit edit:

    Quizz du
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
        lancement.pack(side=Tix.RIGHT)
    Pourquoi ?

    @+

  4. #4
    Membre régulier
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    237
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 237
    Points : 83
    Points
    83
    Par défaut
    Bonjour!
    Merci pour vos réponses!

    En fait, un simple "activebackground" a résolu tous mes soucis

    Merci encore

  5. #5
    Expert confirmé 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
    Points : 4 005
    Points
    4 005
    Par défaut
    Bien vu

    Bon code

  6. #6
    Membre expérimenté
    Avatar de Luke spywoker
    Homme Profil pro
    Etudiant informatique autodidacte
    Inscrit en
    Juin 2010
    Messages
    1 077
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Etudiant informatique autodidacte

    Informations forums :
    Inscription : Juin 2010
    Messages : 1 077
    Points : 1 742
    Points
    1 742
    Par défaut
    Simple astuce: Button.flash()
    Pour mettre un peu d'ambiance dans ton changement de couleur.

Discussions similaires

  1. Réponses: 1
    Dernier message: 14/01/2015, 15h43
  2. Changer une image lors d'un clic
    Par morgan47 dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 22/08/2014, 02h03
  3. [Débutant] Changement de couleur lors d'un clic
    Par ludo40190 dans le forum VB.NET
    Réponses: 4
    Dernier message: 03/02/2012, 18h48
  4. Réponses: 3
    Dernier message: 14/10/2009, 12h55
  5. Changer couleur textarea lors d'un clic
    Par sorry60 dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 24/08/2007, 15h07

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