Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1528 connectés 

  FORUM HardWare.fr
  Programmation
  Python

  [wxPython] Rafraichissement affichage

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[wxPython] Rafraichissement affichage

n°1295726
Paulo les ​Gaz
Eternel indécis...
Posté le 31-01-2006 à 17:37:06  profilanswer
 

Bonjour à tous  :hello:  
 
j'avais fait un script en python me permettant d'alléger quelques taches bien répétitives. L'execution se faisant en console, et les taches devenant suffisament complexe, je me suis décider a rendre ce script plus joli ;)
 
Aussi me suis je mis a développer une interface avec boa constructor.
 
Seulement j'ai quelques soucis d'affichage.
 
j'ai notamment des copies de fichiers assez lourd à réaliser.
 
Lorsque je declanche l'action qui va executer ces multiples copies de fichier, une miniframe est censé s'afficher, et à l'interieur de cette miniframe j'utilise quelque "statictext" et wx.stc.StyledTextCtrl pour avoir un retour sur le fichier en cours de copie, en cours d'effacage ou de compression/decompression.
 
tant que les fonctions de copie/effacage/compression (executée via os.system) ne sont pas finit, la mini frame ne s'affiche pas completement  :(  
 
Elle ne s'affiche completement qu'à la fin de l'execution.
 
Il y a t il un moyen de forcer le rafraichissement de la frame entre deux executions d'une instruction?

mood
Publicité
Posté le 31-01-2006 à 17:37:06  profilanswer
 

n°1295732
masklinn
í dag viðrar vel til loftárása
Posté le 31-01-2006 à 17:45:26  profilanswer
 

Ne pas utiliser os.system (j'vois pas pourquoi tu fais ça de toute façon, ça n'a aucun intérêt et c'est pas portable), et lancer les opérations externes dans un thread/processus séparé de celui de l'interface via threading.Thread ou os.popen*.


Message édité par masklinn le 31-01-2006 à 17:46:46

---------------
Stick a parrot in a Call of Duty lobby, and you're gonna get a racist parrot. — Cody
n°1295900
Paulo les ​Gaz
Eternel indécis...
Posté le 31-01-2006 à 20:57:19  profilanswer
 

j'ai du mal a trouver les fonctions permettant de faire des copies/deplacement de fichiers.
 
Par contre je vois pas comment faire quelque chose de portable vu que mon programme me permet aussi de faire des compression via 7z.

n°1295908
masklinn
í dag viðrar vel til loftárása
Posté le 31-01-2006 à 21:12:48  profilanswer
 

Paulo les Gaz a écrit :

j'ai du mal a trouver les fonctions permettant de faire des copies/deplacement de fichiers.


[:petrus75]
 
J'pense qu'une petite consultation des modules "os" et "shutil" (surtout shutil en fait) de la lib standard pourrait t'intéresser toi, et les modules zipfile, gzip et bz2 pour la compression


Message édité par masklinn le 31-01-2006 à 21:16:41

---------------
Stick a parrot in a Call of Duty lobby, and you're gonna get a racist parrot. — Cody
n°1296033
Paulo les ​Gaz
Eternel indécis...
Posté le 31-01-2006 à 23:50:42  profilanswer
 

je débute :sweat:
 
:D

n°1296468
Paulo les ​Gaz
Eternel indécis...
Posté le 01-02-2006 à 15:19:22  profilanswer
 

Malgré l'utilisation de thread et du module shutil, j'ai toujours un problème de rafraichissement comme on peu le voire sur la capture.
 
http://paulolesgaz.free.fr/temp/python/pythonrefresh.png
 
Au milieu on est censé voir défiler du texte au fur et a mesure des diverses copies, suppressions de fichiers et répertoire.
 
ET en fait tout s'affiche une fois toutes les copies/suppressions effectuées :(

n°1296667
kedare
Posté le 01-02-2006 à 17:01:42  profilanswer
 

il faut creer un thread different pour les taches lourdes , si non ca freeze tout , c'est normal :)

n°1296996
Paulo les ​Gaz
Eternel indécis...
Posté le 01-02-2006 à 21:38:19  profilanswer
 

en fait ca freeze pas.
 
J'ai trouvé comment faire.
 
l'instruction self.Refresh() ne fonctionne pas.
 
Mais par contre self.Update() oui !
 
Donc apres une nouvelle information, je fais un self.Update(), et ma miniframe est ainsi rafraichit.
 
C'est souvent chaud de trouver les bonnes infos sur le net :sweat:
 
Mais avec de la perséverance on y arrive :D

n°1304932
Paulo les ​Gaz
Eternel indécis...
Posté le 14-02-2006 à 10:09:48  profilanswer
 

Bon, ca freeze quand même.
 
self.Update() me permet de mettre à jour l'affichage, mais seulement avant ou après le lancement d'une "tache".
 
Dans ma dialog box je lance une série de tache:
 
1. Effacement de fichiers et répertoire :fonction monmodule.efface() par exemple.
2. Decompression d'un gros zip : fonction monmondule.decomp()
3. demarrage mysql et traitement bdd : monmodule2.bdd()
 
Entre chaque fonction je met a jour un historique d'avancée des taches et une progress barre.
 
Seulement pendant l'execution de ces fonctions, je ne peu déplacer la dialog box, et elle n'est évidemment pas rafraichit :(.
 
Par exemple si je lance la procédure, et que pendant les 5 minute que va durer la decompression, si je change d'appli, et que je passe en premier plan thunderbird par exemple, si 30 secondes après je souhaite faire passer au premier plan mon appli en python, et ba non, pour que cela se fasse, il faut attendre la fin de la decompression.
 
J'ai bo déclarer un thread et le lancé depuis la dialog box, comme ceci:
 
decomp = threading.Thread(monmodule.decompression())
decomp.start()

 
ca ne marche pas mieux :(
 
Un petit coup de main ne serait pas de trop

n°1305681
Paulo les ​Gaz
Eternel indécis...
Posté le 14-02-2006 à 23:05:21  profilanswer
 

Bon, merci quand même.
 
J'ai finit par résoudre une partie de mon problème. Me reste a renseigner la dlg, via une sorte de timer, ou par des évenements.
 
Je vais tenter de me demerder encore seul.


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  Python

  [wxPython] Rafraichissement affichage

 

Sujets relatifs
affichage seulement des doublonspb d'affichage
Rafraichissement fenetre video windows media playerProblème de l'affichage d'images avec Internet base vitesse
L'affichage d'une ligne cachée via css ne marche pas avec ie[PHP/MYSQL] affichage d'une table sur une page
Difference d'affichage IE-Firefoxrequête sql : pas d'affichage
Besoin d'aide affichage variable flashPb rafraichissement page php : avec HTML_Quickform
Plus de sujets relatifs à : [wxPython] Rafraichissement affichage


Copyright © 1997-2025 Groupe LDLC (Signaler un contenu illicite / Données personnelles)