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 :

Tkinter : mise à jour d'un contrôle widget Text ou ScrolledText et automatisation lors du mainloop()


Sujet :

Tkinter Python

  1. #1
    Membre à l'essai
    Homme Profil pro
    responsable support
    Inscrit en
    Novembre 2014
    Messages
    11
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Indre et Loire (Centre)

    Informations professionnelles :
    Activité : responsable support

    Informations forums :
    Inscription : Novembre 2014
    Messages : 11
    Points : 12
    Points
    12
    Par défaut Tkinter : mise à jour d'un contrôle widget Text ou ScrolledText et automatisation lors du mainloop()
    Bonjour,

    je me suis lancé dans un programme qui effectue un traitement de quelques minutes avant affichage du résultat avec tkinter => pas de problème

    Le souci est que je souhaite pendant les quelques minutes de traitement afficher un log d'avancement du traitement, j'ai donc créé un autre affichage tkinter appelé log contenant 2 frames (l'une avec 2 boutons : bt1 pour démarrer le traitement avec "command = trtFic" et bt2 pour quitter log, l'autre avec un widget ScrolledText txt1), tout fonctionne bien, tout au long du traitement j'ajoute des lignes au ScrolledText et à la fin de je dois cliquer sur le bouton bt2.

    Le problème est que les lignes dans le ScrolledText ne s'affiche pas au fur et à mesure, mais lorsque la procédure TrtFic se termine, alors à ce moment toutes les lignes s'affichent d'un coup.

    Dans TrtFic j'ajoute des lignes avec : txt1.insert(END,"texte..\n") => est-ce qu'il y a une fonction de rafraichissement de txt1 à faire après chaque écriture ?

    Autre question subsidiaire, je voudrais automatiser log.mainloop() c'est à dire supprimer le bouton de lancement et le bouton de fin de traitement (pas besoin qu'une personne lance le traitement ni valide la fin) :
    - lancer automatiquement le traitement lors du log.mainloop() (lancement automatique de la procédure TrtFic sans passer pas un bouton ou auto-cliquer sur le bouton)
    - en fin de TrtFic arrêter le log.mainloop() sans avoir besoin que quelqu'un clique sur le bouton contenant command=log.quit ou autocliquer ce bouton
    est-ce possible ?

    Merci d'avance
    Alain

  2. #2
    Expert éminent sénior
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 313
    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 313
    Points : 36 819
    Points
    36 819
    Par défaut
    Salut,

    Citation Envoyé par nazguhl Voir le message
    est-ce qu'il y a une fonction de rafraichissement de txt1 à faire après chaque écriture ?
    avec .update_idletasks


    Citation Envoyé par nazguhl Voir le message
    Autre question subsidiaire, je voudrais automatiser log.mainloop() c'est à dire supprimer le bouton de lancement et le bouton de fin de traitement (pas besoin qu'une personne lance le traitement ni valide la fin) :
    ...
    est-ce possible ?
    à priori, il n'y a pas de problème... sauf ceux que vous rencontrerez peut être en essayant.

    - W

Discussions similaires

  1. mise à jour d'un contrôle calculé
    Par BizutAccess dans le forum IHM
    Réponses: 2
    Dernier message: 10/03/2008, 22h31
  2. Réponses: 5
    Dernier message: 17/11/2007, 11h51
  3. formulaire mise à jour d'une zone de texte
    Par aarlock dans le forum Access
    Réponses: 2
    Dernier message: 30/05/2006, 17h07
  4. Mise à jour de mon RTE (rich texte editor)
    Par mitch46000 dans le forum Langage
    Réponses: 3
    Dernier message: 23/05/2006, 10h48
  5. Comment empêcher la mise à jour d'un contrôle à l'écran ?
    Par JojoLaFripouille dans le forum Composants VCL
    Réponses: 4
    Dernier message: 19/09/2003, 12h52

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