Tk предоставляет вспомогательную функцию, которая может сделать это как tk::PlaceWindow
, но я не верю, что она была выставлена как завернутый метод в Tkinter. Вы бы центрировали виджет, используя следующее:
from tkinter import *
app = Tk()
app.eval('tk::PlaceWindow %s center' % app.winfo_pathname(app.winfo_id()))
app.mainloop()
Эта функция также должна иметь дело с несколькими дисплеями. Он также имеет опции для центровки над другим виджетами или относительно указателя (используется для размещения всплывающих меню), чтобы они не падали с экрана.