По очень личным причинам я программирую процедурно. Предположим, я создаю окно Tkinter с виджем ввода и виджем кнопки в одной функции, и кнопка запускает другую функцию, которая должна обрабатывать содержимое виджета записи.Получение содержимого виджета входа в отдельную функцию
До сих пор мне удалось заставить его работать с StringVar и глобальными переменными.
Могу ли я избегать классов И глобальных переменных?
#!/USR/бен/питон
try:
# Python2
import Tkinter as tk
except ImportError:
# Python3
import tkinter as tk
import os
def output():
global gamename
print("The widget's value is: " + gamename.get())
def newGame():
global gamename
win1 = tk.Toplevel()
e = tk.Entry(win1, textvariable = gamename)
e.place(x = 0, y = 30, width=200, height=30)
outp = tk.Button(win1, text="Print", command=output)
outp.place(x = 0, y = 110, width=200, height=30)
win1.mainloop()
root = tk.Tk()
gamename = tk.StringVar()
newGame()
tk.mainloop()