Ниже приведена миниатюра моего кода. У меня возникли проблемы со вставкой выбранного параметра Combobox (real_optn) в текстовое поле. Я даже не мог распечатать опцию нигде, кроме самого метода привязки (display_option). Я продолжал получать сообщение об ошибке: «Объект Sample не имеет атрибута real_optn». В одном из своих испытаний я использовал в привязке self.display_option(name), а не self.display_option. Это заставило его вставить, но, как и следовало ожидать, выбор не обновлялся. Я прочитал Получение выбранного значения из поля со списком в Tkinter, Простая демонстрация ttk ComboBox и множество других связанных запросов но не ответил на мой запрос. Ваши подсказки ценятся!
from tkinter import*
from tkinter import ttk
class Sample:
def __init__(self, master,title):
frame.title(title)
frame.geometry('1100x500')
def combo_menu(self,page,name,options):
self.variable = StringVar()
self.name = ttk.Combobox(page,values=options)
self.name.bind("<<ComboboxSelected>>", self.display_option)
current = self.name.current(0)
self.name.pack()
def display_option(self,event):
optn=self.name.get()
mapping_dic = {
"1": "A",
"2": "B",
"3": "C"
}
self.real_optn = mapping_dic.get(optn,"A")
print(self.real_optn)
def output(self,page):
OutputBox=Text(page)
OutputBox.pack()
OutputBox.delete("1.0", "end")
OutputBox.insert(END, self.real_optn)
frame = Tk()
pop = Sample(frame, "Sample")
pop.combo_menu(frame,"first",[1,2,3,4])
pop.output(frame)
frame.mainloop()