Показать полноэкранный режим на Tkinter

Как получить рамку в Tkinter для отображения в полноэкранном режиме? ? ? Я видел этот код, это очень полезно,

>>> import Tkinter >>> root = Tkinter.Tk() >>> root.overrideredirect(True) >>> root.geometry("{0}x{1}+0+0".format(root.winfo_screenwidth(), root.winfo_screenheight())) 

но возможно ли, когда я нажму Esc, автоматически «Восстановить» окно? Наверное, это очень сложный код, справка pls.

4 Solutions collect form web for “Показать полноэкранный режим на Tkinter”

Это создает полноэкранное окно. При нажатии Escape по умолчанию изменяется размер окна «200×200 + 0 + 0». Если вы перемещаете или изменяете размер окна, Escape переключается между текущей геометрией и предыдущей геометрией.

 import Tkinter as tk class FullScreenApp(object): def __init__(self, master, **kwargs): self.master=master pad=3 self._geom='200x200+0+0' master.geometry("{0}x{1}+0+0".format( master.winfo_screenwidth()-pad, master.winfo_screenheight()-pad)) master.bind('<Escape>',self.toggle_geom) def toggle_geom(self,event): geom=self.master.winfo_geometry() print(geom,self._geom) self.master.geometry(self._geom) self._geom=geom root=tk.Tk() app=FullScreenApp(root) root.mainloop() 

Я думаю, что это то, что вы ищете:

 Tk.attributes("-fullscreen", True) # substitute `Tk` for whatever your `Tk()` object is called 

Вы можете использовать wm_attributes вместо attributes .

Затем просто привяжите escape-ключ и добавьте его в обработчик:

 Tk.attributes("-fullscreen", False) 

Ответ на другой вопрос намекал на это (с wm_attributes ). Итак, вот как я узнал. Но никто не сразу вышел и сказал, что это был ответ по какой-то причине. Итак, я понял, что стоит опубликовать.

Вот рабочий пример (проверенный на Xubuntu 14.04), который использует F11 для включения и выключения полноэкранного режима и где escape отключит его только:

 import sys if sys.version_info[0] == 2: # Just checking your Python version to import Tkinter properly. from Tkinter import * else: from tkinter import * class Fullscreen_Window: def __init__(self): self.tk = Tk() self.tk.attributes('-zoomed', True) # This just maximizes it so we can see the window. It's nothing to do with fullscreen. self.frame = Frame(self.tk) self.frame.pack() self.state = False self.tk.bind("<F11>", self.toggle_fullscreen) self.tk.bind("<Escape>", self.end_fullscreen) def toggle_fullscreen(self, event=None): self.state = not self.state # Just toggling the boolean self.tk.attributes("-fullscreen", self.state) return "break" def end_fullscreen(self, event=None): self.state = False self.tk.attributes("-fullscreen", False) return "break" if __name__ == '__main__': w = Fullscreen_Window() w.tk.mainloop() 

Если вы хотите скрыть меню, также есть только два способа, которые я нашел для этого. Один из них – уничтожить его. Другой – сделать пустое меню для переключения между ними.

 self.tk.config(menu=self.blank_menu) # self.blank_menu is a Menu object 

Затем верните его в свое меню, когда вы хотите, чтобы он снова появился.

 self.tk.config(menu=self.menu) # self.menu is your menu. 

Я думаю, что если вы ищете только полноэкранный режим, вам не нужно устанавливать геометрию или максимальный размер и т. Д.

Вам просто нужно сделать это:

-Если вы работаете над ubuntu:

 root=tk.Tk() root.attributes('-zoomed', True) 

– и если вы работаете над окнами:

 root.state('zoomed') 

Теперь для переключения между полноэкранным экраном, для минимизации его на панели задач вы можете использовать:

 Root.iconify() 

Это создаст полностью полноэкранное окно на Mac (без видимой строки меню) без испорчения клавиш

 import tkinter as tk root = tk.Tk() root.overrideredirect(True) root.overrideredirect(False) root.attributes('-fullscreen',True) root.mainloop() 
  • Позиция мыши Python Tkinter
  • Получить входные данные из флажка в python tkinter?
  • Pickle не будет работать с tkinter
  • Python3.5 backend_tkagg больше не доступен?
  • TkInter keypress, keyrelease events
  • Почему time.sleep приостанавливает окно tkinter перед его открытием
  • Как обновить содержимое FigureCanvasTkAgg
  • Утечка памяти при отбрасывании изображения в Python
  • Почему Python не ждет завершения моей функции?
  • Как сделать события tkinter repond во время ожидания данных сокета?
  • Меню включения / выключения tkinter
  • Python - лучший язык программирования в мире.