class MyFrame(wx.Frame):
...
def __init__(self):
...
ds = wx.DisplaySize()
self.SetPosition((ds[0] / 2 - self.Size[0] / 2,
ds[1] / 2 - self.Size[1] / 2))
...
Предположим, что метод __init__ содержит еще массу программного кода дял инициализации окна. В таком случае, логично предположить, что вышеописанная операция должна быть описана после всех манипуляций с размерами окна.
Часто такие операции происходят неявно, и, следственно, окно позиционируется совершенно неправильно, и об этом следует всегда помнить. Примером такой неявной смены размеров окна может быть, скажем установка сайзера (wx.Sizer):
self.SetSizer(self.main_sizer)
self.Fit()
В этом случае окно "подтянет" свои размеры под сайзер и, соответственно, позиционирование пройдет неправильно.
Комментариев нет:
Отправка комментария