tkinter - réutiliser une "Entry" dans une fonction
Bonjour,
Voici un problème qui m'a occupé une bonne partie de l'après midi, j'ai trouvé quelques pistes sur ce forum mais qui n'ont pas abouties, et je ne comprends pas pourquoi...
Voici un extract "réduit" du code de mon appli que j'ai adapté par soucis de lisibilité. Je voudrais que la valeur de mon Entry() "test_entry" soit réutilisée dans les fonctions appelées dans mes boutons.
Soit je mets un ".get()" à mon entrée en ligne 20 et on me sort directement l'erreur : AttributeError: 'NoneType' object has no attribute 'get'
soit je n'en mets pas, la fenetre s'ouvre mais les boutons ne fonctionnent pas et j'ai l'erreur TypeError: float() argument must be a string or a real number, not 'NoneType'
Je comprends donc que mon entry (réutilisée en get() ou non) est "vide", mais je ne comprends pas.
Please help ?
Code:
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
| from tkinter import *
window1 = Tk()
window1.title("test")
window1.geometry("1000x600")
window1.config(background='#4d4644')
variabletest = 0
def incrementer():
global variabletest
global test_entry_var
variabletest = float(test_entry_var) + 100
default_entry = StringVar()
default_entry.set("1")
test_entry = Entry(window1, textvariable=default_entry, bg='#2c2827', fg='white', width=10).grid(row=0, column=0)
test_entry_var = test_entry.get()
Button(window1, text="buy", command=incrementer).grid(row=1, column=0)
labelsortie = Label(text="réponse : " + str(variabletest) + "test_entry= " + str(test_entry_var))
labelsortie.grid(row=1, column=1)
def maj():
global test_entry_var
labelsortie['text'] = "réponse à jour : " + str(variabletest) + " test_entry=" + str(test_entry_var)
Button(window1, text="MAJ", command=maj).grid(row=2, column=1)
window1.mainloop() |