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 :

Programmes qui affiche du texte quand on clique sur des boutons


Sujet :

Tkinter Python

  1. #1
    Membre extrêmement actif
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    726
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 726
    Points : 266
    Points
    266
    Par défaut Programmes qui affiche du texte quand on clique sur des boutons
    J'essaye vainement de mettre en oeuvre un programme qui lit un entier dans une zone de texte (pour cela pas de problème) puis qui l'identifie (pair-impair; positif-négatif <- pas de problème non plus).
    C'est quand j'arrive à la mise en oeuvre graphique que je bloque.
    Je veux des boutons qui affiche une caractérisque de l'entier lorsqu'on clique dessus.
    Par exemple, un bouton 'parité' m'affichera "pair" ou "impair" à côté du bouton sachant que la parité est stockée dans une variable booléenne précédemment.
    Je veux aussi que toutes les zones de texte soient réinitialisées lorsqu'on rentre un nouvel entier dans la zone de saisie et qu'on tape ensuite sur entrée.

    Comment programmer de tels boutons et de telles zones de texte?

    merci beaucoup

    n'hésitez pas à me poser des questions si je suis trop vague

  2. #2
    Membre éclairé
    Avatar de airod
    Homme Profil pro
    Gérant Associé, DMP Santé et Directeur technique
    Inscrit en
    Août 2004
    Messages
    767
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Gérant Associé, DMP Santé et Directeur technique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2004
    Messages : 767
    Points : 891
    Points
    891
    Par défaut
    bonsoir,

    tu utilises un boleen pour definir le type de ton entier, OK
    perso je passerai par une varible dynamique Tkinter, du type IntVar()
    si IntVar()=0 ...... , si IntVar() =1 ........

    ex:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    a=IntVar
    if a ==1:
        label.config(text='Nombre Impair')
    elif a==0:
        label.config(text='Nombre Pair')
    Voilà le principe

    a toi de jouer!!

  3. #3
    Membre extrêmement actif
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    726
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 726
    Points : 266
    Points
    266
    Par défaut
    merci mais qu'est ce que fait la méthode config()?
    On ne peut pas faire de variable dynamique avec un booléen?
    Il ne faut pas affecter le label à une variable?
    Pas besoin non plus d'utiliser de .pack() ou de .grid?

    désolé pour toutes ces questions mais je ne comprends pas trop les méthodes employées.

    merci

  4. #4
    Membre extrêmement actif
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    726
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 726
    Points : 266
    Points
    266
    Par défaut
    autre chose, pourquoi des parenthèses derrière la variable dynamique?
    C'est une erreur ou elle se définit vraiment comme ça?
    parce que dans ton code tu n'en mets pas.

    merci

  5. #5
    Membre éclairé
    Avatar de airod
    Homme Profil pro
    Gérant Associé, DMP Santé et Directeur technique
    Inscrit en
    Août 2004
    Messages
    767
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Gérant Associé, DMP Santé et Directeur technique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2004
    Messages : 767
    Points : 891
    Points
    891
    Par défaut
    ok,
    1°- la bibliothèque Tkinter offre trois type de Variable dynamique
    IntVar() pour stocker des entiers
    DoubleVar() pour stocker des Nombres a virgules
    et
    StringVar() pour stocker des chaines de carractères.

    l'assignation d'un tel objet est de la forme
    l'accés a cet objet pour y assigner une valeur est de la forme
    l'accés a cet objet pour lire la valeur est de la forme
    ca c'est pour la base.

    certains objets Tkinter ont comme attribut quelque chose comme "variable=" ou "textvariable="
    c'est le cas de Button, Label, CheckButton, .....

    Dans un cas, cet attribut permet de modifier la valeur dynamiquement quand a change de valeur.
    Dans l'autre cas, cet attribut permet de modifier la valeur de a

    ex1:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    a=Tkinter.StringVar()
    a.set('Toto')
    L=Tkinter.Label(root,textvariable=a)
    L.grid()
    Dans ce cas, ci haut le label changera de texte quand a changera de valeur
    ex: a la suiteex2:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    a=Tkinter.IntVar()
    a.set(1)
    C=Tkinter.Ckeckbutton(root,variable=a)
    C.grid()
    Ici la case a cochée apparait cochée.
    si on l'a décoche, et qu'on fait
    on obtient '0', alors que l'on avait 1 au départ.
    Dans ce cas a=1 on a la case cochée
    et a =0 on a la case décochée.

    Voilà les explications.

    2° Tu peux donc utiliser ce type d'objet (IntVar, DoubleVar, ...) pour changer l'état d'un autre objet.
    Bien sur il faut ecrire des fonctions qui permettent d'agir comme tu le veux sur les IntVar et Cie.

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

Discussions similaires

  1. Réponses: 0
    Dernier message: 07/04/2015, 18h22
  2. Griser un champ Texte quand on clique sur une case à cocher
    Par Robjerey dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 16/12/2014, 15h54
  3. [Toutes versions] message d'erreur quand je clique sur un bouton qui ouvre un formulaire
    Par Mat08 dans le forum IHM
    Réponses: 6
    Dernier message: 11/08/2009, 09h34
  4. Réponses: 2
    Dernier message: 13/09/2008, 19h49
  5. Afficher une TextArea quand on clique sur un bouton
    Par Goozisan dans le forum AWT/Swing
    Réponses: 5
    Dernier message: 26/11/2006, 20h44

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