pierwsze podejście jest użycie root.state('zoomed')
, ale nie ma być powszechnie dostępne. Działa na Windowsie i na moim komputerze Ubuntu. Jednak pod moją maszyną Arch nie ma.
Drugim jest najpierw uzyskać maxSize, a następnie ustaw geometrię ręcznie, jak:
m = root.maxsize()
root.geometry('{}x{}+0+0'.format(*m))
To działa na większości komputerów, ale nie na wszystkich. Na przykład pod moim Arch. maxsize()
zwraca (1425, 870)
, podczas gdy rzeczywistą geometrią zmaksymalizowanego okna powinno być (1440, 848)
. Więc nie mogłeś na nim polegać.
Po trzecie, moim zdaniem najlepszym rozwiązaniem jest użycie root.wm_attributes('-zoomed', 1)
. Jest powszechnie dostępny i wydaje się najbezpieczniejszy. Na niektórych maszynach można było powiększać tylko o szerokość lub wysokość, ale w porównaniu z poprzednią metodą, ten byłby nigdy nie dałby okna częściowo po stronie ekranu.
Wreszcie, jeśli chcesz pełnoekranowe, nie tylko powiększone okno, użyj root.wm_attributes('-fullscreen', 1)
. Zapewnia natywne łącze do zachowania menedżera okien, dzięki czemu działa znacznie lepiej niż gra z overrideredirect
i ręczne ustawianie geometrii (co na niektórych platformach może prowadzić do niezarządzanego okna, które może być zamknięte tylko przez własny interfejs lub zabicie procesu, wygrał „t pokazać na pasku zadań, etc ...)
jest także 'root.overrideredirect (True)' (usuwa pasek tytułowy) Ten – jfs
działa tak długo, jak mam jeden monitor.Jak mogę zmienić kod, aby zmaksymalizować tylko jeden monitor, a nie cały wirtualny pulpit? – Paladin
Nieważne, wydaje się, że jest to specyficzny problem cygwin. – Paladin