У меня в программе две спинбоксы, созданные с помощью tkinter. Я хочу, чтобы переменные, выбранные пользователем, были добавлены в список, чтобы я мог использовать эти значения позже в программе. Проблема, с которой я столкнулся в настоящее время, заключается в том, что значения сохраняются в списке только один раз, и мне не удается их обновить, несмотря на все то, что я пробовал. Чтобы было ясно, я просто хочу два значения в списке, поэтому, когда пользователь выбирает другое число, он заменит правильное значение, сохраненное в списке.
Вот код, который я написал:
from tkinter import *
windowTk = Tk()
pwMain = PanedWindow(windowTk, orient=VERTICAL)
pwTop = PanedWindow(pwMain, orient=HORIZONTAL)
def configTables() :
sLine = Spinbox(pwTop, from_=0, to=15)
pwTop.add( Label(pwTop, text = "Combien y a-t-il de lignes de table ?") )
pwTop.add( sLine )
sColumn = Spinbox(pwTop, from_=0, to=15)
pwTop.add( Label(pwTop, text = "Combien y a-t-il de colonnes de tables ?") )
pwTop.add( sColumn )
pwTop.pack()
pwMain.pack()
global coordTables
coordTables = []
coordTables.append( int(sLine.get()) )
coordTables.append( int(sColumn.get()) )
return coordTables
print( configTables() )
windowTk.mainloop()
Надеюсь, моя просьба понятна, поэтому вы можете мне помочь.
Спасибо
LoneRetrievr
ОБНОВЛЕНИЕ : я попробовал следующий код, и он работает, но в окне ничего не появляется (окно tkinter остается белым).
from tkinter import *
windowTk = Tk()
pwMain = PanedWindow(windowTk, orient=VERTICAL)
pwTop = PanedWindow(pwMain, orient=HORIZONTAL)
lines = IntVar(windowTk, value=0)
columns = IntVar(windowTk, value=0)
def configTables() :
sLine = Spinbox(pwTop, from_=0, to=15, textvariable=lines)
pwTop.add( Label(pwTop, text = "Combien y a-t-il de lignes de tables ?") )
pwTop.add( sLine )
sColumn = Spinbox(pwTop, from_=0, to=15, textvariable=columns)
pwTop.add( Label(pwTop, text = "Combien y a-t-il de colonnes de tables ?") )
pwTop.add( sColumn )
pwTop.pack()
pwMain.pack()
numberLines = lines.get()
numberColumns = columns.get()
print( numberLines, numberColumns )
windowTk.mainloop()
Я знаю, что он напечатает только один раз значения, и это то, что я хочу, чтобы он делал.
Вы можете мне помочь ? Я думаю, что это очень просто, но я не понимаю, в чем проблема.