Я также использовал классы для определения каждого из мои фреймы появляются, поэтому я могу переключаться между окнами.
Я довольно неопытен в работе с Tkinter и не могу разобраться в ComboBox.
Вот мой код той части, где мне нужно использовать ComboBox:
Код: Выделить всё
class EntryPage(tk.Frame):
def __init__(self, parent, controller):
tk.Frame.__init__(self, parent)
self.controller = controller
label = tk.Label(self, text="This is page 1", font=controller.title_font)
label.pack(side="top", fill="x", pady=10)
button = tk.Button(self, text="Go to the start page",
command=lambda: controller.show_frame("StartPage"))
button.pack()
def gunvarselect():
gunselected = (gunvar)
print(gunselected)
gunvar = tk.StringVar()
gunselect =ttk.Combobox(self, textvariable=gunvar)
gunselect.bind(self, '', gunvarselect)
gunselect['values'] = ('Pistols', 'Shotguns', 'Rifles', 'Sniper Rifles', 'Sub-machine Guns', 'Light-machine Guns')
gunvarselect()
gunselect.pack(side="left", expand="false", pady=20, padx=50)
gunvar2 = tk.StringVar()
gunselect2 = ttk.Combobox(self, textvariable=gunvar2)
gunselect2['values'] = (
'Pistols', 'Shotguns', 'Rifles', 'Sniper Rifles', 'Sub-machine Guns', 'Light-machine Guns')
gunselect2.pack(side="right", expand="false", pady=20, padx=50)
Я также пытался прочитать значение только через текстовую переменную, но я не думаю, что это будет эффективно.
Подробнее здесь: https://stackoverflow.com/questions/788 ... -classed-f