Tkinter .geometry () не изменяет размеры окна - PullRequest
0 голосов
/ 14 января 2019

Функция Tkinter .geometry () не меняет размер окна, даже если это происходит, когда я нажимаю, и я знаю, что функция работает, потому что я попросил ее напечатать, что она работает на консоли. Вот код.

import tkinter

class FullScreenWindow():
    def __init__(self):
        self.window = tkinter.Tk()
        self.window.attributes('-zoomed', True)
        self.frame = tkinter.Frame(self.window)
        self.frame.pack()
        self.state = False
        self.window.bind("<F11>", self.toggleFullscreen)
        self.window.bind("<Escape>", self.smallScreen)

    def toggleFullscreen(self, event=None):
        self.state = not self.state
        self.window.attributes("-fullscreen", self.state)

    def smallScreen(self, event=None):
        self.state = False
        self.window.attributes("-fullscreen", self.state)
        print("I am running")
        self.window.geometry("600x525")

fsw = FullScreenWindow()

fsw.window.mainloop()

1 Ответ

0 голосов
/ 14 января 2019

@ CommonSense понял все правильно. «-Zoomed» отменял изменения, которые я хотел сделать с помощью .geometry. Добавляя

self.window.atrributes('-zoomed', False)

в функцию smallScreen.

Вот фиксированный код

import tkinter

class FullScreenWindow():
    def __init__(self):
        self.window = tkinter.Tk()
        self.window.attributes('-zoomed', True)
        self.frame = tkinter.Frame(self.window)
        self.frame.pack()
        self.state = False
        self.window.bind("<F11>", self.toggleFullscreen)
        self.window.bind("<Escape>", self.smallScreen)

    def toggleFullscreen(self, event=None):
        self.state = not self.state
        self.window.attributes("-fullscreen", self.state)

    def smallScreen(self, event=None):
        self.state = False
        self.window.attributes("-fullscreen", self.state)
        self.window.attrebutes("-zoomed", self.state)
        self.window.geometry("600x525")

fsw = FullScreenWindow()

fsw.window.mainloop()
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...