Bonjour la communauté,
Je m'initie doucement à Python (3.6.02b) et suis actuellement à la partie GUI.
Voici mon problème:
Je crée un formulaire dans un fichier "main" (avec Label et Entry) puis je tente de récupérer la valeur des Entry via une fonction située sur un fichier "function" importé dans "main" (évidement).
Sauf que Python ne reconnaît pas la variable de mon Entry (undefined).
Pourtant ma fonction est bien importée et la variable "entreeType" devrait être accessible non ?
Voici le code allégé (car plusieurs Label, Entry)
Code de "formulaireMain.py"
Code "formulaireFunctions"
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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 # coding:UTF_8 # import des modules from tkinter import * from formulaireFunctions import retour # crée la fenêtre root = Tk() # création des widgets 'Label' + affection de l'emplacement sans passer par une variable pour économie de mémoire Label(root, text="Type de l'annonce:").grid(row =0, column = 0, sticky =E) # ... # ... Un formulaire est créé (code allégé) # ... # création des widgets 'Entry' + placement dans la fenetre. Obligé de passer par une variable contenant la # référence à l'instance 'Entry' pour la manipuler par la suite entreeType = Entry(root) entreeType.grid(row =0, column =1) # ... # ... Un formulaire est créé (code allégé) # ... # récupére les valeurs entrées via touche ENTER root.bind("<Return>", retour) # boucle pour permettre l'interaction utilisateur (clavier, souris) root.mainloop()
Bref je ne comprend pas, j'ai essayé de mettre "entreeType" en global mais ça ne change rien
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 # coding:UTF_8 def retour(event): """Fonction pour récupérer les entrées""" print(entreeType.get()) # juste pour tester
J'espère que ce n'est pas une histoire de classe car pas encore lu ce chapitre.
D'avance merci pour votre aide
Nb: Je passe par un autre fichier pour la clarté finale du programme (j'aurais plusieurs fonction), la création de la fenêtre (Label, Entry, Button, ect..) le sera également (enfin si possible).
Partager