sami1997fr
Messages postés2Date d'inscriptionmardi 25 décembre 2018StatutMembreDernière intervention31 décembre 2018
-
Modifié le 28 déc. 2018 à 23:16
sami1997fr
Messages postés2Date d'inscriptionmardi 25 décembre 2018StatutMembreDernière intervention31 décembre 2018
-
31 déc. 2018 à 13:28
Bonjour,
j'ai créé un code pour une interface mais je n'ai pas réussi à créer son executable j'ai éssaye par plusieurs méthodes mais le probleme c'est que l'interface ne s'affiche pas lorque je crée .exe y a que la fenetre noire du cmd qui s'affiche, par contre quand je l'execute avec IDLE ça marche normal, aidez moi svp !
voici mon code et merci d'avance :
from tkinter import *
from tkinter.ttk import *
from heapq import heappush, heappop
import datetime
import os
"""PARTIE NOIYEUX"""
def recherche(tab):
i=0
for i in range(0,21):
if tab==str(tache[i][0]):
A=[]
A.append(tache[i][1])
A.append(tache[i][2])
return A
""" fonction de dessin de chemine critique """
def draw(lin=[]):
i=0
r=35
for i in range(0,len(lin)-1):
C=[]
B=[]
C=recherche(lin[i])
B=recherche(lin[i+1])
can.create_line(C[0],C[1],B[0],B[1],width=3,fill='red')
can.create_oval(C[0]-r,C[1]-r,C[0]+r,C[1]+r,width=3,outline="red")
can.create_oval(B[0]-r,B[1]-r,B[0]+r,B[1]+r,width=3,outline="red")
fen.mainloop()
raise TypeError('Probleme dans la source introuvable ')
if dest not in graph:
fen.mainloop()
raise TypeError('Probleme dans la distination introuvable')
if src == dest:
path=[]
pred=dest
while pred != None:
path.append(pred)
pred=predecessors.get(pred,None)
path.reverse()
label['text']=('le chemine critique passe par les etapes : '+str(path)+"\n"+"duree : "\
+str(distances[dest]*(-1))+" Unite de temps\n")
draw(path)
fen.mainloop()
else :
if not visited:
distances[src]=0
for neighbor in graph[src] :
if neighbor not in visited:
new_distance = distances[src] + graph[src][neighbor]
if new_distance < distances.get(neighbor,float('inf')):
distances[neighbor] = new_distance
predecessors[neighbor] = src
visited.append(src)
unvisited={}
for k in graph:
if k not in visited:
unvisited[k] = distances.get(k,float('inf'))
x=min(unvisited, key=unvisited.get)
CheminCritique(graph,x,dest,visited,distances,predecessors)
can.create_text(80,255,anchor=W,font="Arial",text="0")
can.create_text(280,255,anchor=W,font="Arial",text="4")
can.create_text(480,105,anchor=W,font="Arial",text="15")
can.create_text(480,255,anchor=W,font="Arial",text="12")
can.create_text(480,405,anchor=W,font="Arial",text="11")
can.create_text(680,155,anchor=W,font="Arial",text="18")
can.create_text(680,405,anchor=W,font="Arial",text="16")
can.create_text(880,255,anchor=W,font="Arial",text="19")
can.create_text(1080,255,anchor=W,font="Arial",text="21")
label1['text']=('Resultat : Le chemin critique est [ A E K M ] ')
CheminCritique(graph,'T0','T8')
tache=[['T0',85,235],["T1",285,235],["T2",485,85],["T3",485,235],["T4",485,385],
["T5",685,135],["T6",685,385],["T7",885,235],["T8",1085,235]]
#PARTIE DE CREATION DE FENETRE
fen=Tk()
fen.geometry("1200x600+50+50")
fen.title("Diagramme de Pert(chemine Critique) ")
fen.resizable(width='false',height='true')
can = Canvas(fen,bg='dark grey',height=450,width=1200,borderwidth=3,cursor='x_cursor')
can.pack()
can.create_line(85,235,285,235,485,85,685,135,885,235,
685,385,485,385,285,235,485,235,885,235,1085,
235,width=2,fill='black')
can.create_line(485,235,685,135,width=2,fill='black')
can.create_line(285,235,685,385,width=2,fill='black')
can.create_line(485,385,885,235,width=2,fill='black')
Qui n'a strictement rien à faire dans ton programme.
Par :
fen.mainloop()
Et si ce n'est pas ça, merci d'éditer ton sujet en utilisant le bouton <> du forum dans le dessein de garder l'indentation de ton code, chose primordiale en python.
sami1997fr
Messages postés2Date d'inscriptionmardi 25 décembre 2018StatutMembreDernière intervention31 décembre 2018 31 déc. 2018 à 13:28
Merci beaucoup mon frere ça a marché
Bonne journée
31 déc. 2018 à 13:28
Bonne journée