Если я возьму код, который вы дадите, и добавьте первую и последнюю строку, которую вы получите:
from tkinter import *
root = Tk()
root.title("app")
screen_width = root.winfo_screenwidth()
screen_height = root.winfo_screenheight()
root.geometry("550x250+%d+%d" % (screen_width/2-275, screen_height/2-125))
root.configure(background='gold')
root.lift()
mainloop()
Проверьте это. Я получаю окно, как и ожидалось. Вы получаете что-то еще? Если это работает, то где-то в коде вы говорите это сделать. Если он делает то же самое, что и ваша настоящая программа, то это делает ваш оконный менеджер. Это лучшее, что я могу сделать без дополнительной информации.
Edit:
В OSX (особенно в версиях, использующих aqua) окна tkinter могут отображаться позади уже открытых (здесь есть сообщение об ошибке: http://bugs.python.org/issue9384, но оно было закрыто, так как не исправит). В этом случае добавлена команда root.lift()
, которая в этих случаях выводит окно в начало стека и безвредна во всех остальных случаях.