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 :

Progressbar, 20% par 20%


Sujet :

Tkinter Python

  1. #1
    Membre du Club
    Homme Profil pro
    Programmation C#
    Inscrit en
    Décembre 2014
    Messages
    89
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 22
    Localisation : France, Aisne (Picardie)

    Informations professionnelles :
    Activité : Programmation C#

    Informations forums :
    Inscription : Décembre 2014
    Messages : 89
    Points : 48
    Points
    48
    Par défaut Progressbar, 20% par 20%
    Bonjour à tous,
    je vais programmer une application, et, au début, je voudrais insérer une Progressbar, qui renseignera l'état d'avancement d'une vérification des fichiers, avant l’exécution du programme. Je voudrais que ma progressbar prenne la valeur 0 au début, et dès le 1er fichier vérifié, la progressbar passe à 20%, après le deuxième fichier vérifié, 40%, etc... et à la fin, le programme se lance.
    Et ces valeurs ne pourront pas changer, le pourcentage augmentera toujours de 20 % à chaque fichier.
    Comment faire ? J'ai repéré une discussion sur le forum, mais ce n'est pas exactement le même avancement. Sur cette discussion, la progressbar avance 1 par 1, car il y a beaucoup de fichier. Dans mon cas, je n'aurais que 5 ou 6 fichiers à verifié.
    PS : Je possède python 2.7.10, avec Tkinter
    Merci d'avance !
    Misterpython

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

    Il faut lire votre documentation favorite du widget progressbar.
    Vous pouvez incrémenter la progressbar via .step:
    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
    >>> import tkinter.ttk as ttk
    >>>
    >>> p = ttk.Progressbar(orient='horizontal', mode='determinate')
    >>> p.pack()
    >>> steps = 5
    >>> amount = 100 / steps
    >>> for x in range(steps):
    ...     p.after(100*x, lambda: p.step(amount))
    ...
    'after#5'
    'after#6'
    'after#7'
    'after#8'
    'after#9'
    >>>
    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

  3. #3
    Membre du Club
    Homme Profil pro
    Programmation C#
    Inscrit en
    Décembre 2014
    Messages
    89
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 22
    Localisation : France, Aisne (Picardie)

    Informations professionnelles :
    Activité : Programmation C#

    Informations forums :
    Inscription : Décembre 2014
    Messages : 89
    Points : 48
    Points
    48
    Par défaut
    Merci pour votre réponse. Je n'ai pas trouvé la documentation, pouvez-vous m'indiquez l'endroit svp ?
    A quoi correspond le 5 de steps et le 100 d'amount ?
    Je n'ai pas compris le système d'after#, pouvez-vous m'expliquer svp ?
    Merci d'avance,

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

    Citation Envoyé par MisterPython Voir le message
    Merci pour votre réponse. Je n'ai pas trouvé la documentation, pouvez-vous m'indiquez l'endroit svp ?
    Un certain nombre de documentations tkinter sont mentionnées ici.
    A vous de trouver celle qui vous parle le plus.
    La plus complète est ici.

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

  5. #5
    Membre du Club
    Homme Profil pro
    Programmation C#
    Inscrit en
    Décembre 2014
    Messages
    89
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 22
    Localisation : France, Aisne (Picardie)

    Informations professionnelles :
    Activité : Programmation C#

    Informations forums :
    Inscription : Décembre 2014
    Messages : 89
    Points : 48
    Points
    48
    Par défaut
    Bonsoir,
    Après avoir regardé les docs, je n'ai pas trouvé mon objectif.
    Dans votre exemple, pouvez-vous me donner des précisions en se qui concerne les after# ?
    Merci d'avance

  6. #6
    Expert éminent sénior
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 281
    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 281
    Points : 36 768
    Points
    36 768
    Par défaut
    Citation Envoyé par MisterPython Voir le message
    Après avoir regardé les docs, je n'ai pas trouvé mon objectif.
    Les regarder c'est bien, prendre le temps de les comprendre, c'est mieux.
    Et comme je vous ai donné un exemple de code qui fait ce que vous voulez, je ne sais que faire de plus.

    Citation Envoyé par MisterPython Voir le message
    Dans votre exemple, pouvez-vous me donner des précisions en se qui concerne les after# ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    >>> root = tk.Tk()
    >>> help(root.after)
    Help on method after in module tkinter:
     
    after(ms, func=None, *args) method of tkinter.Tk instance
        Call function once after given time.
     
        MS specifies the time in milliseconds. FUNC gives the
        function which shall be called. Additional parameters
        are given as parameters to the function call.  Return
        identifier to cancel scheduling with after_cancel.
    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

  7. #7
    Membre du Club
    Homme Profil pro
    Programmation C#
    Inscrit en
    Décembre 2014
    Messages
    89
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 22
    Localisation : France, Aisne (Picardie)

    Informations professionnelles :
    Activité : Programmation C#

    Informations forums :
    Inscription : Décembre 2014
    Messages : 89
    Points : 48
    Points
    48
    Par défaut
    Bonsoir,
    Un grand merci pour votre réponse. Mais dois-je remplacer le None de func=None par autre chose ?
    merci d'avance,

  8. #8
    Membre du Club
    Homme Profil pro
    Programmation C#
    Inscrit en
    Décembre 2014
    Messages
    89
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 22
    Localisation : France, Aisne (Picardie)

    Informations professionnelles :
    Activité : Programmation C#

    Informations forums :
    Inscription : Décembre 2014
    Messages : 89
    Points : 48
    Points
    48
    Par défaut
    Rebonjour,
    Finalement je vais lancer une ProgressBar en indeterminé, en même temps que je vérifie mes fichiers, ce sera plus simple.
    Mais merci quand même pour toutes vos réponses, je pourrais faire ça plus tard, peut être...

Discussions similaires

  1. Remplacer ProgressBar par Label
    Par jijie dans le forum Macros et VBA Excel
    Réponses: 19
    Dernier message: 27/06/2012, 19h20
  2. Couleur par défaut d'une ProgressBar ?
    Par Thyx5 dans le forum Android
    Réponses: 11
    Dernier message: 05/04/2012, 08h50
  3. Réponses: 2
    Dernier message: 18/10/2011, 14h57
  4. Placer une étiquette par dessus une progressbar
    Par hannii dans le forum Access
    Réponses: 1
    Dernier message: 20/02/2007, 15h04

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