siden | Bonjour à tous,
je suis débutant sur python et je dois faire un programme avec interface graphique pour mon stage.
Je suis bloqué sur la capture de texte avec la librairie Tkinter
La commande get() pour recevoir le texte inscrit dans un widget EntryField (de Pmw) ne veux pas fonctionner dans le cas de mon programme.
J'ai comparé avec un programme semblable trouvé dans le tuto de Gérard Swinen qui tourne comme il faut mais je ne vois nulle part où je foire.
Voici le code :
Code :
- # -*- coding:Utf-8 -*-
- from Tkinter import *
- from math import *
- import Pmw
- class fenetre(Frame):
- def __init__(self):
- Frame.__init__(self)
- #création des onglets
- notebook=Pmw.NoteBook(parent=Frame.__init__(self))
- notebook.pack(fill = 'both', expand = 1, padx = 10, pady = 10)
- onglet1=notebook.add('Visualisation')
- notebook.tab('Visualisation').focus_set()
- Label(onglet1,text='entrée :').grid(row=0,column=0,padx=3,pady=3)
- ## self.valentre=Entry(onglet1).grid(row=0,column=1,padx=3,pady=3)
- ## Button(onglet1,text='valider',command=self.maj).grid(row=0,column=2,padx=3,pady=3)
- self.valentre=Pmw.EntryField(onglet1,labelpos='e',command=self.maj, label_text='°C').grid(row=0,column=1,padx=3,pady=3)
- def maj(self):
- entre=self.valentre.get()
- Label(onglet1, text=entre).grid(row=1,column=0,adx=3,pady=3,columnspan=2)
- print entre
-
- if __name__ == '__main__':
- fenetre().mainloop()
|
lors de l'éxecution j'ai ce message d'erreur :
Code :
- File "/usr/lib/python2.5/lib-tk/Tkinter.py", line 1417, in __call__
- return self.func(*args)
- File "/usr/lib/python2.5/site-packages/Pmw/Pmw_1_3/lib/PmwEntryField.py", line 191, in _executeCommand
- cmd()
- File "test.py", line 20, in maj
- entre=self.valentre.get()
- AttributeError: 'NoneType' object has no attribute 'get'
|
le code en commentaire peux remplacer la ligne qui suit et donne la même erreur.
quelqu'un a une idée d'où ca peut venir? |