Проблема при попытке центрировать окно, в котором есть строка меню

#python #tkinter #tkinter-menu

Вопрос:

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

Если функция меню не вызывается, окно центрируется правильно.

Вот код:

 from tkinter import *  def win_ctr(win):  win.update_idletasks()  size=tuple(int(_)for _ in win.geometry().split(" ")[0].split("x"))  win.geometry(" %d %d" % (win.winfo_screenwidth()/2 - size[0]/2, win.winfo_screenheight()/2 - size[1]/2 ))  def ac():  print("test")  def wmenu(win):  menu_bar=Menu(win)  file_menu=Menu(menu_bar,tearoff=0)  file_menu.add_command(label="Clear",command=ac)  file_menu.add_separator()  file_menu.add_command(label="Quitter",command=win.quit)  menu_bar.add_cascade(label="MENU",menu=file_menu)   win.config(menu=menu_bar)  def initUI(win):  wmenu(win)  def main():  win=Tk()  win.title("Test")  win.geometry("354x460")  win.resizable(True, True)  win.config(bg=mint)  win_ctr(win)  initUI(win)  win.mainloop()   if __name__=="__main__":  mint="#41B77F"  main()  

Комментарии:

1. Вы пробовали поменять местами две строки win_ctr(win) и initUI(win) ?

2. @acw1668 Спасибо, я думал, что уже пробовал, но на самом деле нет, так что теперь все работает, спасибо.