Сохранение выбора OptionMenu в переменной в Tkinter для python 2.7

Я делаю графический интерфейс в Tkinter, который имеет информацию о вводе пользователя и записывает ее в excel через openpyxl. У меня есть несколько виджетов OptionMenu, и я хочу иметь возможность сохранять все, что пользователь выбирает из раскрывающегося меню, в переменную, которую затем я могу записать в файл. Вот что у меня есть до сих пор:

    self.equipment = StringVar(top)
    self.equipment.set("10077")
    self.e18 = OptionMenu(top, self.equipment,'10077','G2143','G2145','17727')
    self.e18.grid(row=13, column=1, sticky=E+W)

Позже в другой функции я присваиваю его переменной:

    equipment = self.equipment

Затем я записываю его в файл:

    ws1['D18'] = str(equipment)

Когда я открываю файл, вместо того, чтобы выбранная пользователем строка отображалась в ячейке, это делает: PY_VAR16

Вся остальная информация, введенная в Entryboxes, отлично записывается. Кто-нибудь знает, как сохранить выбор OptionMenu в строку, чтобы она записывалась в excel? Есть ли эквивалент команды .get() для этого виджета? заранее спасибо


person Cole    schedule 12.02.2014    source источник


Ответы (1)


Есть ли эквивалент команды .get() для этого виджета?

Согласно этой странице, StringVars действительно имеет метод get. Я предлагаю заменить

ws1['D18'] = str(equipment)

С

ws1['D18'] = equipment.get()
person Kevin    schedule 12.02.2014
comment
Я часами работал над этим, и я клянусь, что пробовал это, но я думаю, что нет. Благодарю вас! - person Cole; 12.02.2014