Что делает переадресация?

Я пришел к выводу, что переопределенная директива помогает удалить стандартные декорации окон, такие как панель инструментов. Каковы другие ее применения? Я не очень уверен и не мог найти много документации.

Я работаю на Mac. Используя tkinter, я хочу получить окно, которое остается максимальным и не может быть изменено, чего я достиг, используягеометрия а такжеизменяемый, Теперь мне нужна гарантия, что никакие случайные нажатия клавиш моим пользователем не закроют окно. Поможет ли мне в этом переадресация? Есть ли альтернатива?

Ответы на вопрос(1)

Решение Вопроса

Ты можешь использоватьoverrideredirect() и установите его флагTrue, Это отключит закрытие вашего окнаобычные средства как упомянуто в ссылке выше. Отобычные средства, подразумеваетсяX кнопка иAlt + F4 комбинация клавиш.

Так как вы использовалиgeometry() а такжеresizable(), вам нужно будет позвонитьupdate_idletasks() to заставить дисплей обновляться до следующего простоя приложения.

Вот пример:

import Tkinter as Tk

root = Tk.Tk()
root.geometry('200x200+100+100')
root.resizable(False, False)
root.update_idletasks()
root.overrideredirect(True)
root.mainloop()

Недостаток этого метода: он всегда работает на платформе Microsoft Windows, но может не работать на некоторых платформах Unix и MacOS.

РЕДАКТИРОВАТЬ:

Вы попросили разъяснения оupdate_idletasks()Я думаю, что будет лучше, если я приведу цитату непосредственно из ее документации, поскольку она более понятна (но если вы не понимаете эту цитату, пожалуйста, дайте мне знать):

Некоторые задачи по обновлению отображения, такие как изменение размера и перерисовка виджетов, называются задачами бездействия, поскольку они обычно откладываются до тех пор, пока приложение не завершит обработку событий и не вернется в основной цикл для ожидания новых событий.

Если вы хотите принудительно обновить отображение до следующего бездействия приложения, вызовите метод w.update_idletasks () для любого виджета.

 momo03 июл. 2016 г., 08:37
Не могли бы вы объяснить, почему в этом случае потребуется update_idletasks ()? я не совсем понял, что означает «приложение следующий бездельник». Большое спасибо!
 Billal Begueradj03 июл. 2016 г., 08:58
Проверьте мои изменения (и извините за поздний отзыв, я был в автономном режиме) @momo

Ваш ответ на вопрос