Выбор окна для combobox

Рейтинг: -1Ответов: 1Опубликовано: 30.06.2023

Есть программа, в которой содержится основное окно, в котором есть кнопка для вызова Toplevel, в котором в свою очередь содержится combobox, но при нажатии на кнопку combobox вызывается в основном окне, а не в Toplevel.

def buttonEdit():
    editData = Toplevel(root)
    editData.title("Edit data")
    editData.geometry("250x200")

    def clickEditData():
        pass

    def clickRemoveData():
        pass

    editData.grab_set()

    resKeys = getDataKeys()[0]

    editDataBtn = Button(editData, text="Edit", command=clickEditData).pack()
    combobox = ttk.Combobox(values=resKeys)  #появляется в root, а не в toplevel
    combobox.pack()
    removeDataBtn = Button(editData, text="Remove", command=clickRemoveData).pack()

    editData.mainloop()

Ответы

▲ 0

Давайте поставим рядом код, как вы кнопку создаете и как вы создаете комбобокс:

editData = Toplevel(root)
Button(editData, text="Edit", command=clickEditData).pack()
ttk.Combobox(values=resKeys)

При создании кнопки вы первым параметром указали окно, в котором она должна находиться, а при создании комбобокса почему-то решили этого не делать. Естественно, комбобокс создался в окне по умолчанию - в главном окне.