Problème fenêtre surnuméraire Tkinter [RESOLU]

Problème fenêtre surnuméraire Tkinter [RESOLU] - Python - Programmation

Marsh Posté le 19-06-2013 à 14:03:34    

Bonjour,
 
Je suis débutante en python et mes scripts rencontrent un problème.
 
Quand je lance le script, tkFileDialog est utilisé (askopenfile puis asksaveasfilename) et vient ensuite un traitement de fichier. Tout marche, mais en arrière plan, une fenêtre vide nommée "tk" reste en arrière plan, accompagnée d'un terminal quand je suis sous windows.  Ces fenêtres se ferment à la fin du script (excepté quand j'utilise en plus matplotlib et numpy, il faut fermer manuellement), mais ce n'est pas très esthétique.
 
Je ne comprends pas où est le soucis exactement, mais je pense qu'il doit y avoir un soucis dans mon code, notamment dans la construction.  Ayant fouillé un peu, certains parlent de problème avec IDLE, mais je ne pense pas que ce soit ça.
 
 
 

Code :
  1. #!/usr/bin/env python
  2. # -*-coding:utf-8 -*
  3. import sys, os
  4. from math import exp
  5. import Tkinter
  6. import tkFileDialog
  7. #déclarations des fonctions...
  8. ...
  9. fenetre=Tkinter.Tk()
  10. fichier=tkFileDialog.askopenfile(parent=fenetre,initialdir="/",title='Choisissez le fichier à traiter ')
  11. fich=fichier.readlines()
  12. filename = tkFileDialog.asksaveasfilename(parent=fenetre,title='Sauvegarder fichier créé sous')
  13. #lecture puis traitement du fichier
  14. ...
  15. #fin de script
  16. fichier.close()
  17. fenetre.destroy

Message cité 1 fois
Message édité par Cessy le 19-06-2013 à 15:48:14
Reply

Marsh Posté le 19-06-2013 à 14:03:34   

Reply

Marsh Posté le 19-06-2013 à 14:59:11    

Cessy a écrit :

en arrière plan, une fenêtre vide nommée "tk"
 

Code :
  1. fenetre=Tkinter.Tk()



http://docs.python.org/2/library/t [...] Tkinter.Tk

Citation :

The Tk class is instantiated without arguments. This creates a toplevel widget of Tk which usually is the main window of an application.


Tkinter.Tk(), ça crée une fenêtre appelée "tk" par défaut. Tu peux essayer dans ta console, dès que tu appelles "Tkinter.Tk()" ta fenêtre vide va apparaître. Tu peux utiliser la méthode withdraw() pour la cacher: http://effbot.org/tkinterbook/wm.h [...] raw-method
 
Pour la console sous Windows, me semble que tu dois utiliser pythonw pour empêcher cmd de s'ouvrir.


---------------
Stick a parrot in a Call of Duty lobby, and you're gonna get a racist parrot. — Cody
Reply

Marsh Posté le 19-06-2013 à 15:46:20    

masklinn a écrit :


http://docs.python.org/2/library/t [...] Tkinter.Tk

Citation :

The Tk class is instantiated without arguments. This creates a toplevel widget of Tk which usually is the main window of an application.


Tkinter.Tk(), ça crée une fenêtre appelée "tk" par défaut. Tu peux essayer dans ta console, dès que tu appelles "Tkinter.Tk()" ta fenêtre vide va apparaître. Tu peux utiliser la méthode withdraw() pour la cacher: http://effbot.org/tkinterbook/wm.h [...] raw-method

 


Pour la console sous Windows, me semble que tu dois utiliser pythonw pour empêcher cmd de s'ouvrir.

 

Ces deux problèmes m'embêtaient depuis un certain temps et tu viens de me les régler en deux coups de cuillère à pot :)! Merci beaucoup pour ta réponse!

   


Message édité par Cessy le 19-06-2013 à 15:46:49
Reply

Sujets relatifs:

Leave a Replay

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