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 :

Creation d'un event ?


Sujet :

Tkinter Python

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Juillet 2009
    Messages
    27
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2009
    Messages : 27
    Par défaut Creation d'un event ?
    Bonjour

    peut on créer un event a partir du changement d'etat d'une variable ?

    Par exemple, je voudrais afficher une information genre heure, minute, seconde
    sur un label Tkinter.
    J'ai un decompteur dans une boucle while et je souhaiterais y incorporer un event declenchant un affichage toutes les secondes suite au changement d'etat d'une variable a définir.
    Je n'ai rien trouvé dans la doc Tkinter...mais je suis peu etre passé a coté

  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
    Bonsoir,

    c'est .trace

    Exemple (tirer d'un de mes codes)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
            Checkcase_Checkbutton = Checkbutton(LabOption_Labelframe, text="Respecter la case", relief="flat", width="15", fg='dark slate blue', activeforeground='#2a7aff')
            Checkcase_Checkbutton.place(x=5, y=10, width=127, height=24)
            Checkcase_Checkbutton_IntVar = IntVar()
            Checkcase_Checkbutton.configure(variable = Checkcase_Checkbutton_IntVar, onvalue=1, offvalue=0)
            Checkcase_Checkbutton_IntVar_traceName = Checkcase_Checkbutton_IntVar.trace_variable("w",  Checkcase_Checkbutton_IntVar_Callback)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
            def Checkcase_Checkbutton_IntVar_Callback(varName, index, mode):
                la suite....

  3. #3
    Membre chevronné
    Avatar de vincent.mbg
    Homme Profil pro
    Développeur Python
    Inscrit en
    Décembre 2007
    Messages
    327
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Développeur Python

    Informations forums :
    Inscription : Décembre 2007
    Messages : 327
    Par défaut
    Bonjour,

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    from Tkinter import *
     
    root = Tk()
    var = IntVar()
    Label( root, textvariable = var ).pack()
    Button( root, text='foo',
            # Changement de valeur.
            command = lambda : var.set( 33 ) ).pack()
     
    root.mainloop()
    Mon guide pour apprendre Tkinter - N'oubliez pas de consulter les FAQ Python ou de visiter mon blog

  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
    Aussi, en plus propre. Mais j'a

    Donc tu doit déclarer une variable (StringVar etc...)

  5. #5
    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
    Aussi, en plus propre. Mais j'aurais ajouter une notion de trace de la variable qui correspond plus à sa demande.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    from Tkinter import *
     
    def modifvar(varName, index, mode):
        print 'var change'
        print varName
        print index
        print mode
     
    root = Tk()
    var = IntVar()
    Label( root, textvariable = var ).pack()
    Button( root, text='foo',
            # Changement de valeur.
            command = lambda : var.set( 33 ) ).pack()
    Var_traceVal = var.trace_variable("w",  modifvar)
     
    root.mainloop()
    A noter toutefois le command = lambda : var.set( 33 ) trés utile avec Tkinter.

    (Désolé pour plus haut)

Discussions similaires

  1. Réponses: 6
    Dernier message: 18/06/2010, 13h19
  2. Creation dynamique de controls : gerer les events ?
    Par clinic dans le forum Windows Forms
    Réponses: 2
    Dernier message: 02/08/2007, 10h42
  3. Réponses: 4
    Dernier message: 05/11/2004, 14h58
  4. Creation de fiche dynamique
    Par Mouss26 dans le forum C++Builder
    Réponses: 7
    Dernier message: 24/07/2002, 07h56
  5. Creation d une clee dans la registry en VC++
    Par rico27fr dans le forum MFC
    Réponses: 4
    Dernier message: 30/05/2002, 12h36

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