Často som sa stretol s tým, že tkinter si pohodí vytvorené okno niekde na ploche, čo nie je celkom elegantné riešenie. Našťastie aj toto má vyriešené jednoduchým kusom kódu:
# naimportovanie všetkého z triedy Tkinter
from tkinter import *
# vytvorenie okna
root = Tk()
# definovanie rozmerov okna
window_height = 500
window_width = 900
# získanie informácií o rozlíšení, ktoré aktuálne používate na monitore
screen_width = root.winfo_screenwidth()
screen_height = root.winfo_screenheight()
print(screen_width, screen_height)
# vypočítam stred na ploche
center_x= int((screen_width/2) - (window_width/2))
center_y= int((screen_height/2) - (window_height/2))
print(x_cordinate, y_cordinate)
# nastavenie rozmeru okna a jeho polohy metódou geometry
root.geometry(f'{window_width}x{window_height}+{center_x}+{center_y}')
Ako to funguje.
- Najprv získajte šírku a výšku obrazovky pomocou metód
winfo_screenwidth()
awinfo_screenheight()
. - Po druhé, vypočítajte stredovú súradnicu na základe šírky a výšky obrazovky a okna.
- Nakoniec pomocou metódy nastavte geometriu pre koreňové okno
geometry()
.