1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44
| import Tkinter as tk
import tkMessageBox
class nom_fichier(tk.Toplevel):
def __init__(self, parent,titre='titre',message='message'):
tk.Toplevel.__init__(self, parent)
self.title=titre
self.transient(parent) #pour n'avoir qu'une icone dans la barre des tâches
self.grab_set() #L'utilisateur n'a plus accès à la fenetre parente
tk.Label(self,text=message,fg='blue',bg='white').grid(
row=0,columnspan=2,sticky=tk.E+tk.W)
self.entry=tk.Entry(self,width=50)
self.entry.grid(row=1,columnspan=2,padx=2,pady=5)
tk.Button(self,text='Valider',command=self.valider).grid(row=2,column=0,
sticky=tk.W+tk.E,padx=2,pady=5)
tk.Button(self,text='Annuler',command=self.destroy).grid(row=2,column=1,
sticky=tk.W+tk.E,padx=2,pady=5)
self.bind('<Return>',self.valider)
self.bind('<Escape>',self.quitter)
self.filename=''
def valider(self,event=None):
if not self.valid():
return
self.sortie()
self.destroy()
def valid(self):
self.filename=self.entry.get()
self.entry.delete(0,tk.END)
if self.filename == '':
tkMessageBox.showerror('ERREUR',
'Entrez un nom valide, merci.\nUn nom différent de rien!')
else:
return 1
def sortie(self):
return self.filename
def quitter(self,event=None):
self.destroy()
if __name__=='__main__':
root=tk.Tk()
new_canal=nom_fichier(root,titre='Nom du Canal',
message='Veulliez saisir le nom du nouveau canal')
root.wait_window(new_canal) #Attends que new_canal soit fermé (plus logique ici ?)
filename=new_canal.sortie()+'.cfg'
print filename |
Partager