Есть некоторые "проблемы" с вашим кодом.
Опечатка
См. Вашу функцию Accept()
.В первой и третьей строке отсутствует a
.
Разница между global
и local
переменными
Ваш сценарий использует глобальный объект fuel_stored
, объявленный в строке 2.Ваш Accept()
объявляет еще один локальный fuel_stored
объект, отличный от первого.Функция или метод в Python всегда (неявно) используют локальную версию объекта.Решение состоит в том, чтобы заставить вашу функцию использовать глобальный объект с ключевым словом global
следующим образом
def Accept():
Variable = number1.get()
print (Variable)
global fuel_stored
fuel_stored = Variable
См. Также Использование глобальных переменных в функции для этого.
Другое решение с переменной содержимого
Здесь я предлагаю вам совершенно другое решение с использованием переменной содержимого.Объект Entry()
знает использование fuel_stored
напрямую.См. Параметр textvariable=
в конструкторе Entry
.Я также немного свернул твой код.
#!/usr/bin/env python3
from tkinter import *
def PrintFuel():
print (fuel_stored.get())
root = Tk()
# Need to be instanciated it after Tk().
fuel_stored = StringVar()
number1 = Entry(root, textvariable=fuel_stored)
number1.pack()
nameButton = Button(root, text="Test", command=PrintFuel)
nameButton.pack()
root.mainloop()