Python/ Tkinter: удалить заголовок без overrideredirect()
в настоящее время я работаю с Tkinter и Python 2.7 на Linux, и мне было интересно, есть ли способ удалить TK()
рамка границы окна и строка заголовка без использования overrideredirect(1)
.
у меня есть своя кнопка "Закрыть" и overrideredirect(1)
представлена мне несколько вопросов, которые я не могу принять:
- GUI всегда сверху
- не может iconify затем deiconify должным образом
- нет ввода с клавиатуры, поэтому не могу ввести в поля (см. python tkinter overrideredirect; не удается получить нажатия клавиш (Linux))
Я не могу использовать attributes("-fullscreen", True)
как заголовок и границы остаются.
2 ответов
оформление окна обрабатывается оконным менеджером, поэтому вы пытаетесь найти способ сказать оконному менеджеру, чтобы украсить ваше окно иначе, чем стандартное окно приложения. Tk обеспечивает overrideredirect
чтобы диспетчер окон полностью игнорировал это окно, но мы также можем использовать Расширенные Подсказки Оконного Менеджера чтобы объявить предполагаемое использование этого окна верхнего уровня оконному менеджеру. Это делается, например, для всплывающих подсказок и окон splashscreen для позвольте менеджеру обеспечить минимальное оформление и, возможно, специальную анимацию.
в вашем случае добавление подсказки "splash" должно делать то, что вы хотите
root = tk.Tk()
root.wm_attributes('-type', 'splash')
для этого вам понадобится Tk 8.5 или выше.
перед командой необходимо указать имя корневого окна.
такой:
from tkinter import *
root=Tk()
root.wm_attributes('-fullscreen','true')
root.mainloop()