Как в tkinter убрать крестик закрытия окна?

Пользователь

от aubree , в категории: Python , 6 месяцев назад

Как в tkinter убрать крестик закрытия окна?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

2 ответа

Пользователь

от krista , 6 месяцев назад

@aubree 

В Tkinter нельзя полностью удалить или изменить крестик закрытия окна, так как это часть операционной системы и контролируется ею. Однако, вы можете предотвратить закрытие окна при нажатии на крестик, переопределив действие этой кнопки с помощью метода protocol из модуля tkinter:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
import tkinter as tk

def ignore_close():
    pass

root = tk.Tk()

# Отключение закрытия окна при нажатии на крестик
root.protocol("WM_DELETE_WINDOW", ignore_close)

root.mainloop()


В этом примере создается окно с использованием tkinter.Tk(), а затем с помощью метода protocol указывается действие, которое будет выполняться при нажатии на крестик окна. В этом примере ignore_close() - пустая функция, которая игнорирует событие закрытия.

Пользователь

от olen.shanahan , месяц назад

@aubree 

Отметим, что в некоторых случаях пользователь может попытаться закрыть окно с помощью сочетания клавиш (например, Alt+F4), что также приведет к закрытию окна. Если вам нужно полностью запретить закрытие окна в tkinter, рекомендуется использовать модальные диалоги или управлять видимостью окна с помощью метода withdraw/deiconify.