Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 27/06/2006, à 01:12

Yakulu

Barre de progression python

Salut,
    J'ai developpé une petite application qui fait des recherches sur internet en python et je souhaiterais intégrer une barre de progression lors de ces recherches. Mais par contre je ne sais pas du tout comment la réaliser. Je ne sais pas comment evaluer l'etat de la progression une fois que je suis dans la fonction de recherche et aussi comment incrementer cette barre.
    Donc si vous avez des idées, n'hésitez pas wink

#2 Le 28/06/2006, à 13:04

Sacre

Re : Barre de progression python

Ton algorithme doit certainement effectuer une ou des boucles. Il te suffit d'incrémenter un compteur que tu map sur ta "barre de progression" (je ne peux être plus précis ne sachant comment ta barre est représentée) à chaque itération dans la boucle.

Hors ligne

#3 Le 28/06/2006, à 14:45

monsitt

Re : Barre de progression python

Yakulu a écrit :

Salut,
    J'ai developpé une petite application qui fait des recherches sur internet en python et je souhaiterais intégrer une barre de progression lors de ces recherches. Mais par contre je ne sais pas du tout comment la réaliser. Je ne sais pas comment evaluer l'etat de la progression une fois que je suis dans la fonction de recherche et aussi comment incrementer cette barre.
    Donc si vous avez des idées, n'hésitez pas wink

Salut Yakulu smile,

Bon voilà un bon coup de main pour toi --> c'est une 1ère approche (par contre je te demande de mettre mon pseudo en commentaire dans ton futur code et de la pub pour EKD ... [et en remerciement pour le petit coup de main]) :

#! /usr/bin/python
# -*- coding: iso-8859-1 -*-

from Tkinter import *

''' 
BARRE DE PROGRESSION POUR EKD (1ERE APPROCHE)  . 

PETITE PUB PERSO 
==> EKD EST UN LOGICIEL DE POST-PRODUCTION POUR DES FICHIERS ANIMES 
ET DES LOTS D'IMAGES ; EKD SE TROUVE LA : 
http://www.irruption.net/progdudim/minisite.php?op=ekd . 
ARTICLE SUR FRAMASOFT : http://framasoft.org/article4277.html . 
Yakulu N'OUBLIE PAS ... DANS TON CODE ! .

Merci a airod pour m'avoir donne un petit coup de main (dans ces 
messages : http://www.developpez.net/forums/showthread.php?t=142969
et http://www.developpez.net/forums/showthread.php?t=143084) . '''
			

def calculerBARRE() :
	
	listeESSAI=[0]*223719
	
	# Compteur pour la barre de progression . 
	cptBARRE=0 

	for toto in range(len(listeESSAI)) :
		
		# Calcul du pourcentage
		calcPourcentage=((toto+1)*100)/len(listeESSAI)
		# Mise a jour de la barre de progression 
		# (par le Canvas c).
		c.update()

		# Creation des rectangles pour la barre de progression .
		while cptBARRE<=calcPourcentage*4 :

			c.create_rectangle((cptBARRE, 1, 4+cptBARRE, 21), outline="#e5c95b", fill="red", width=0)
			cptBARRE=cptBARRE+4
			
			# Pourcentage pour affichage a cote de la barre .
			pourcChiffre=" %d %s" % ((cptBARRE/4)-1, "%") 
			# Affichage du pourcentage en calcul dans le 
			# Label (se trouvant dans la Frame f2) .
			f2.update()
			lab1.config(text=pourcChiffre)
			
		# Des que la barre de progression arrive a 100 %, la barre de
		# progression disparait pour laisser la place au Canvas jaune .	
		if cptBARRE>100*4 :
			c.create_rectangle((0, 1, 403, 21), outline="#e5c95b", fill="#e5c95b", width=1)			
	
							
root=Tk()
root.geometry("496x100+0+0")
root.config(bg="#4c4c4c", relief=GROOVE)
root.title("Barre de progression pour EKD")

def interfaceBARRE() :
	
	# ... 
	b=Button(root, text="Calculer progression", command=calculerBARRE, bg="#4dccfe", fg="#4c4c4c", activebackground="#4dccfe", relief=GROOVE)
	b.place(x=22, y=10)
	# Widgets uniquement pour la barre de progression ################################
	f1=Frame(root, height=27, width=410, highlightbackground="#e5c95b", bg="#4c4c4c",bd=2, relief=GROOVE)
	f1.place(x=22, y=60)
	global c
	c=Canvas(f1, height=20, width=403, bg="#e5c95b")
	c.place(x=1, y=1)
	global f2
	f2=Frame(root, height=28, width=54, highlightbackground="#e5c95b", bg="#4c4c4c", relief=GROOVE)
	f2.place(x=433, y=60)
	global lab1
	lab1=Label(f2, bg="#4c4c4c", fg="#e5c95b") 
	lab1.place(x=1, y=4)
	# ################################################################################
	
interfaceBARRE()

if __name__ == '__main__' :
	root.mainloop()

A toi aussi d'adapter tout ça pour ton code, tu dois trouver tout seul maintenant .

a+ wink

monsitt

Dernière modification par monsitt (Le 29/06/2006, à 10:28)

Hors ligne

#4 Le 28/06/2006, à 20:57

Yakulu

Re : Barre de progression python

Oki je vous remercie pour vos reponses j'essaierais ca le plus vite possible big_smile
J'oublierais pas non plus de mettre les sources dans mon code wink