сообщение tkinter.showinfo() возвращает меня к первому окну, а не остается в окне, где расположена кнопка

#python #tkinter

#python #tkinter

Вопрос:

Я создал кнопку и определил ее messagebox.showinfo() при успешном запуске, и когда нажата кнопка OK, она переводит меня на первую (главную) страницу, а не остается в текущем окне, где расположена кнопка. Есть ли решение этой проблемы?

Код:

 #Defining Export Button
def export(result):
    with open ('students.csv', 'a', newline="") as f:
        w = csv.writer(f, dialect='excel')   
        for record in result: 
            w.writerow(record)
    messagebox.showinfo("Success!","Record Exported Successfully")           
gate.mainloop()
 

Ответ №1:

Добавьте parent аргумент к вашему messagebox , например:

 messagebox.showinfo("Success!","Record Exported Successfully",parent=gate)
 

Это направит его на отображение окна сообщения относительно этого окна. И gate.mainloop() не является необходимым до тех пор , пока это a Toplevel . И если окно, в котором расположена ваша кнопка, отсутствует gate , измените parent аргумент на то имя Windows, в котором вы хотите, чтобы оно отображало окно сообщения.