Один из способов - создать StringVar()
в окне root, а затем связать его с Combobox()
в окне Toplevel()
. Поле со списком изменит значение StringVar()
, и вы можете прочитать его после закрытия всплывающего окна.
from tkinter import *
from tkinter import ttk
root = Tk()
combotext = StringVar()
def get_input():
popup = Toplevel()
box = ttk.Combobox(popup, textvariable=combotext, state='readonly')
box['values'] = ("Camembert", "Brie", "Tilsit", "Stilton")
combotext.set('Choose')
box.pack(padx=20, pady=20)
Button(root, text='Get input', command=get_input).pack(padx=90, pady=10)
Label(root, textvariable=combotext).pack(pady=(0,10))
root.mainloop()