Типичным поведением большинства приложений является запуск в центре экрана для немедленного использования приложения. С библиотекой WxPython это довольно легко достичь. Вместо того, чтобы извлекать размеры экрана самостоятельно и вычислять его положение в соответствии с размером вашего окна и т. Д. WxPython сделает это автоматически для вас, если вы вызываете метод Center из фрейма:
import wx
# Initialize a simple Window
app = wx.App()
frame = wx.Frame(None, title='Simple application')
# Center it with the 'Centre' method
frame.Centre()
# Show your main windows
frame.Show()
app.MainLoop()
Автоматически окно будет отцентрировано на экране независимо от его собственных размеров.
Пример в контексте приложения
Если ваше приложение структурировано, у вас может быть окно, расширяющее класс Frame WxPython:
import wx
class MyApp(wx.Frame):
def __init__(self, parent, title):
super(MyApp, self).__init__(
parent,
title = title,
# Define the size of the window
size=(800, 600)
)
## Important: call the Centre method that centers automatically
## the window for you
self.Centre()
def main():
app = wx.App()
ex = MyApp(None, title='Example of Centering a Window')
ex.Show()
app.MainLoop()
if __name__ == '__main__':
main()
В результате ваше окно будет отцентрировано, как указано: