Tkinter et mode de lancement

Tkinter et mode de lancement - Python - Programmation

Marsh Posté le 08-11-2003 à 19:10:21    

Salut,
 
j'ai programmé un petit truc en python avec une interface en utilisant tkinter.
 
le problème c'est que quand je fais python monprog.py il ne m'affiche rien. Ni ma fenêtre ni erreur. le execfile("monprog.py" ) fonctionnne parfaitement lui.
 
Une idée ?
 
Merci

Reply

Marsh Posté le 08-11-2003 à 19:10:21   

Reply

Marsh Posté le 09-11-2003 à 04:47:13    

executable python pas dans le path ?

Reply

Marsh Posté le 09-11-2003 à 10:02:33    

si si
 
puisque je tape 'python' et la bête se lance.
Le problème apparait dès qu'une fenêtre tkinter doit être ouverte :(
 
J'ai même essayé avec un #!/usr/bin/python au début et en le rendant éxécutable...
 
RAAAHHH !!!!  [:nowad]  
 
 :pt1cable:


Message édité par black_lord le 09-11-2003 à 10:02:58
Reply

Marsh Posté le 09-11-2003 à 10:05:02    

Combien de versions de pythons sont installées en même temps chez toi ?

Reply

Marsh Posté le 09-11-2003 à 12:23:03    

une seule :) la 2.2

Reply

Marsh Posté le 09-11-2003 à 18:03:45    

t'as fait un main correct ?
Pas de probleme d'import de module sinon il ralerait...
Franchement je vois pas... tu veux pas balancer ton source ?

Reply

Marsh Posté le 09-11-2003 à 19:01:01    

Code :
  1. from Tkinter import *
  2. import convertisseur
  3. import user
  4. reload(convertisseur)
  5. def valider_source():
  6. fichier_source=srcfile.get()
  7. #  print "Source : " + fichier_source
  8. def valider_dest():
  9. fichier_dest=destfile.get()
  10. #  print "Destination : " + fichier_dest
  11. def lancer_conversion():
  12. print "Dest : " + fichier_dest
  13. print "Source : " + fichier_source
  14. convertir(fichier_source, fichier_dest)
  15. def about_window():
  16.     aw = Tk()
  17.     aw.title("A propos de Fig2SVG" )
  18.     aw_fr=Frame(aw,relief='ridge', borderwidth=0)
  19.     aw_fr.grid()
  20.     aw_lbl=Label(aw_fr,text='Logiciel de conversion des fichiers au format Fig vers le format SVG\nConçu par Nico <> & Manu <>\nGPL License 2003-2004').grid(row=0)
  21.     aw_btn_quit=Button(aw_fr,text='Fermer', fg='black', command=aw.destroy).grid(row=1)
  22. # On cree une nouvelle fenetre
  23. fenetre = Tk()
  24. fenetre.title("Fig2SVG" )
  25. # ------------------------- Frame du haut -------------------------
  26. frame_haut=Frame(fenetre, relief='ridge', borderwidth=0)
  27. frame_haut.grid()
  28. # Label en titre
  29. label = Label(fenetre, text='Utiliser les boutons pour choisir une action').grid(column=0)
  30. # ------------------------- deuxieme frame -------------------------
  31. frame_milieu=Frame(fenetre, relief='ridge', borderwidth=0)
  32. frame_milieu.grid()
  33. # et 3 boutons pour charger, convertir et quitter
  34. srcfile = Entry(frame_milieu, text='source', width=25)
  35. srcfile.grid(row=1, sticky=E, column=1)
  36. srcfile.insert(1,user.home+"/" )
  37. button1 = Button(frame_milieu, text="Valider", fg="black", command=valider_source, width=10)
  38. button1.grid(row=1,column=2)
  39. destfile = Entry(frame_milieu, text='destination', width=25)
  40. destfile.grid(row=2, sticky=E, column=1)
  41. destfile.insert(2,user.home+"/" )
  42. button2 = Button(frame_milieu, text="Valider", fg="black", command=valider_dest, width=10)
  43. button2.grid(row=2,column=2)
  44. # ------------------------- deuxieme frame -------------------------
  45. frame_milieu2=Frame(fenetre, relief='ridge', borderwidth=0)
  46. frame_milieu2.grid()
  47. button3 = Button(frame_milieu2, text="Convertir", fg="black", command=lancer_conversion, width=10)
  48. button3.grid(row=1,column=2)
  49. # ------------------------- Frame du bas -------------------------
  50. frame_bas=Frame(fenetre, relief='ridge', borderwidth=0)
  51. frame_bas.grid()
  52. button4 = Button(frame_bas, text="Crédits", fg="black", command=about_window)
  53. button4.grid(row=1,column=2)
  54. button3 = Button(frame_bas, text="Quitter", fg="black", command=fenetre.destroy)
  55. button3.grid(row=1,column=1)


 
C'est pour un convertisseur fig->svg
 
-edit- virer les mails dans les crédits pour pas se faire pourrir son mail c'est une idée :)


Message édité par black_lord le 09-11-2003 à 19:01:56
Reply

Marsh Posté le 09-11-2003 à 19:09:35    

T'as pas de main ???
Il part d'ou ton prog ? :??:
Ah j'ai trouvé, t'as mis tout en vrac... :/
 
Je suis une quiche en Tk, mais devrait pas y avoir un truc du style tk.mainloop() ???

Reply

Marsh Posté le 09-11-2003 à 19:25:53    

je sais pas trop :) je débute en Tk. Mais en quiche je m'y connais, la lorraine est au four :) bon miam miam ce soir :)

Reply

Marsh Posté le 09-11-2003 à 19:27:30    

je vais RTFM encore une fois :/

Reply

Marsh Posté le 09-11-2003 à 19:27:30   

Reply

Marsh Posté le 09-11-2003 à 20:25:12    

En effet, il manque un appel au mainloop de Tk.

Reply

Marsh Posté le 09-11-2003 à 20:45:51    

Yes :)
 
Je l'ai vu là :)
http://www.python.org/doc/life-pre [...] World.html
 
j'ai ajouté un fenetre.mainloop() et tout roule :)
 
PS : la quiche était bonne :)
 
Merci à tous

Reply

Marsh Posté le 09-11-2003 à 21:06:24    

Black_lord a écrit :

Yes :)
 
Je l'ai vu là :)
http://www.python.org/doc/life-pre [...] World.html
 
j'ai ajouté un fenetre.mainloop() et tout roule :)
 
PS : la quiche était bonne :)
 
Merci à tous


La mienne aussi :D  
 
Sinon : [:bou_le_loup]

Reply

Marsh Posté le 14-11-2003 à 19:19:08    

Black_lord a écrit :


j'ai ajouté un fenetre.mainloop() et tout roule :)


 
Tu peux te passer du mainloop() quand t'es dans l'Idle, sinon il le faut... donc vaut mieux le mettre tout le temps pour éviter les mauvaises surprises par la suite...
 
:hello:

Reply

Marsh Posté le 25-03-2004 à 11:41:58    

e_esprit a écrit :

T'as pas de main ???
Il part d'ou ton prog ? :??:
Ah j'ai trouvé, t'as mis tout en vrac... :/
 
Je suis une quiche en Tk, mais devrait pas y avoir un truc du style tk.mainloop() ???

Reply

Marsh Posté le 25-03-2004 à 13:46:53    

Tu devrais mettre un main, structure ton prog en objet, la c est fouilli, c est pas maintenable et si ton programme grossit ca va devenir ingerable.

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed