У меня есть один модуль моей программы, который использует класс в другом модуле для создания объекта на короткое время.Когда объект был уничтожен, мне нужно вернуть значение.
Вот объект, который создается:
class ButtonWindow():
def __init__(self, master, posx, posy):
''' Initialises the TK root window'''
self.master = master
master.configure(bg = "light pink")
master.geometry("20x40+" + str(posx) +"+"+str(posy-20))
master.option_add("*Font", "Helvetica")
options = ("Public", "Child", "Over 65", "Staff", "Governor")
self.bookingType = StringVar()
self.bookingType.set(options[0])
seatingMenu = OptionMenu(master, self.bookingType, *options, command=self.updateValue)
seatingMenu.pack(side=TOP)
def updateValue(self,value):
self.master.destroy()
return self.bookingType.get()
Как вы можете видеть, когда значение меню параметровизменено, мне нужно обновить значение переменной в другом модуле.Как я могу вернуть значение из этого класса и уничтожить tk root
одновременно?После уничтожения root
значение больше не существует.И как только я возвращаю значение в updateValue
, он больше не может запускать функцию destroy
.Я должен быть в состоянии сделать оба.Где создан объект:
self.seatMenu = seat_menu.createWindow(self.button.winfo_rootx(),
self.button.winfo_rooty(), self.master)
self.bookingType = #get the value of the option menu from the
#self.seatMenu window