Suite de la dernière fois La dernière fois, j'ai pu confirmer que l'application a démarré pour le moment, mais j'ai essayé d'ajouter diverses pièces manquantes telles que la prévention du double démarrage
Il est publié sur github. https://github.com/snowpff14/etcresource/tree/master/pythonGui
Voir Dernière fois pour une partie approximative.
def doExecute(self):
if self.lock.acquire(blocking=FALSE):
if messagebox.askokcancel('Confirmation avant exécution','Voulez-vous exécuter le processus?'):
self.progressValue=0
self.progressStatusBar.configure(value=self.progressValue)
self.progressBar.configure(maximum=10,value=0)
self.progressBar.start(100)
th = threading.Thread(target=self._executer)
th.start()
else:
self.lock.release()
else:
messagebox.showwarning('Erreur','Le traitement est en cours')
labelStyle=ttk.Style()
labelStyle.configure('PL.TLabel',font=('Helvetica',10,'bold'),background='white',foreground='red')
self.progressMsgBox=ttk.Label(content,textvariable=self.progressMsg,width=70,style='PL.TLabel')
self.progressMsg.set('En attente de traitement')
def progressSequence(self,msg,sequenceValue=0):
self.progressMsg.set(msg)
self.progressValue=self.progressValue+sequenceValue
self.progressStatusBar.configure(value=self.progressValue)
de l'élément screen comme indiqué ci-dessous. La zone d'affichage est mise à jour avec
root.update_idletasks ()` afin de changer d'écran après l'exécution du traitement. self.progressMsgBox.after(10,self.progressSequence('Le traitement est en cours',sequenceValue=50))
root.update_idletasks()
determinate
est utilisé pour indiquer dans quelle mesure vous avez progressé dans la progression globale. self.progressBar=ttk.Progressbar(content,orient=HORIZONTAL,length=140,mode='indeterminate')
self.progressBar.configure(maximum=10,value=0)
self.progressStatusBar=ttk.Progressbar(content,orient=HORIZONTAL,length=140,mode='determinate')
determinate
, si vous définissez une valeur dans value
, elle avancera en conséquence (définissez la valeur maximale à 100 selon la situation) commence à
startet s'arrête à
stop` self.progressValue=0
self.progressStatusBar.configure(value=self.progressValue)
self.progressBar.configure(maximum=10,value=0)
self.progressBar.start(100)
def preparation(self,logfilename):
self._executer=partial(self.execute,logfilename)
Jusqu'ici cette fois pour le moment. Si je peux faire quelque chose un peu plus, je créerai une suite.
Recommended Posts