Как вернуть значения через модули с помощью tkinter? - PullRequest
0 голосов
/ 18 февраля 2019

У меня есть один модуль моей программы, который использует класс в другом модуле для создания объекта на короткое время.Когда объект был уничтожен, мне нужно вернуть значение.

Вот объект, который создается:

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
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...