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

Python Discussion :

Mise à jour d'une fenêtre TextBox avec matplotlib [Python 3.X]


Sujet :

Python

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Nouveau membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2019
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2019
    Messages : 5
    Par défaut Mise à jour d'une fenêtre TextBox avec matplotlib
    Bonjour,suite à un projet python je dois mettre à jour une TextBox avec des données issues d’opérations.

    Lorsque j'exécute le programme le résultat de ma boite et différent du résultat que j'imprime a chaque clic sur le bouton "+2" .

    en effet celui ci est décalé de 2 unités.

    je n'arrive pas à trouver mon erreur car je sors 2 fois la même valeur (a) et l'affichage est différent.

    <code python>
    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
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
     
    import matplotlib.pyplot as plt
    from matplotlib.gridspec import Gridspec
    from matplotlib.widegt import Button,Radiobuttons,Slider,TextBox
     
     
    a =0
     
    fen = plt.figure(figsize=(15,10),dpi=100,num='Fenetre')
    fen.set_facecolor('white')
    gs = GridSpec(100,100)
    plt.subplot_adjust(left=0.05,right=0.95,bottom=0.05,top=0.95)
     
    #bouton1#
    bouton1 = fen.add_subplot(gs[15:25,3:13])
    bouton1 = Button(bouton1,'+2',color='red',hovercolor='red')
    bouton1.label.set_fontsize(20)
     
    #+2#
    boite = fen.add_subplot(gs[0:10,3:13])
    boite_box = TextBox(boite,"",color='white',hovercolor='white')
    texte = plt.text(0.5,0.5,'0',ha='center',va='center',fontsize='14')
     
    def test (event):
       global a
       a=a+2
       print(a)
       text.set_text(a)
       return a
     
    bouton1.on_clicked(test)
     
    plot.show()

  2. #2
    Membre très actif

    Homme Profil pro
    Bidouilleur
    Inscrit en
    Avril 2016
    Messages
    721
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Bidouilleur

    Informations forums :
    Inscription : Avril 2016
    Messages : 721
    Billets dans le blog
    1
    Par défaut
    Salut.

    Est-ce une blague ?
    Tu n'as pas posté le bon code ?

    Nan, parce qu'autant d'erreurs dans les noms de modules et méthode de matplotlib, variables de ton script indéfinies, ce n'est pas possible que tu puisses exécuter ce script sans que python ne s'exclame vertement.

  3. #3
    Nouveau membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2019
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2019
    Messages : 5
    Par défaut mise a jour
    bonjour
    je reposte le code avec quelques corrections et commentaires

    cordialement

    <code python>

    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
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
     
     
    import matplotlib.pyplot as plt
    from matplotlib.gridspec import GridSpec
    from matplotlib.widgets import Button, RadioButtons, Slider, TextBox
     
    a=0
     
    #definition de la grille pour placer les elements#
    fen = plt.figure(figsize=(5,2.5), dpi=100, num='Fenetre')
    fen.set_facecolor('white') 
    gs = GridSpec(100,100)
    plt.subplots_adjust(left=0.05, right=0.95, bottom=0.05, top=0.95)
     
    #bouton 1 +2)#
    bouton1 = fen.add_subplot(gs[15:25, 3:13])
    bouton1 = Button(bouton1, '+2', color='red', hovercolor='red')
    bouton1.label.set_fontsize(10)
     
    #boite d'affichage de 'a'#
    boite = fen.add_subplot(gs[0:10, 3:13])
    boite_box = TextBox(boite, "",color='white',hovercolor='white')
    texte = plt.text(0.5, 0.5, '', ha='center', va='center', fontsize='10')
     
    #fonction d' ajout 2 "
    def test (event):
    	#appelle de la variable a#
    	global a
    	#realisation de l'addition#
    	a=a+2
    	#controle la sortie de l'addition#
    	print(a)
    	#mise à jour de la boite de resultat#
    	texte.set_text(a)
    	return a
     
    bouton1.on_clicked(test)
     
    plt.show()

  4. #4
    Membre très actif

    Homme Profil pro
    Bidouilleur
    Inscrit en
    Avril 2016
    Messages
    721
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Bidouilleur

    Informations forums :
    Inscription : Avril 2016
    Messages : 721
    Billets dans le blog
    1
    Par défaut
    Salut.

    Ajoute un

    Après avoir mis à jour le texte dans ta fonction.

  5. #5
    Expert éminent
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 743
    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 743
    Par défaut
    Salut,

    Il manque un plt.draw() après texte.set_text(a).

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

  6. #6
    Nouveau membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2019
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2019
    Messages : 5
    Par défaut Mise à jour d'une fenêtre TextBox avec matplotlib
    Merci
    cela fonctionne
    cordialement

    CARREZ Jean-François

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

Discussions similaires

  1. [AJAX] Mise à jour d'une variable php avec Ajax
    Par amine2208 dans le forum AJAX
    Réponses: 5
    Dernier message: 03/07/2014, 01h49
  2. [MySQL] Mise à jour d'une table mysql avec php
    Par glodybiss4 dans le forum PHP & Base de données
    Réponses: 6
    Dernier message: 09/01/2012, 10h41
  3. Réponses: 0
    Dernier message: 04/06/2008, 13h00
  4. mise à jour d'une fenêtre graphique
    Par Mathieu72 dans le forum Tkinter
    Réponses: 10
    Dernier message: 17/05/2008, 15h43
  5. Mise à jour d'une fenêtre parent
    Par flavia dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 19/10/2007, 12h26

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