как скрыть значок окна верхнего уровня из панели задач, не скрывая его границы - PullRequest
0 голосов
/ 19 апреля 2019

я делаю окно tkinter и еще одно в качестве верхнего уровня, но я хочу, чтобы в окне верхнего уровня отображался только один значок на панели задач, который является значком главного окна, а не верхним уровнем

Я уже использовалoverrideredirect (1), он работает, но также скрывает границу верхнего уровня, включая строку заголовка

w = tk.Tk()
w.title('main')
w.geometry('300x300')

def c():
    t = tk.Toplevel()
    t.title('toplevel') 
    t.geometry('100x100')
    # t.overrideredirect(1) 
    t.mainloop()
b = tk.Button(w,text='click',command=c)
b.pack()
w.mainloop()

1 Ответ

0 голосов
/ 19 апреля 2019

Метод .transient() делает именно то, что вы хотите, он удалит значок верхнего уровня с панели задач:

import tkinter as tk
w = tk.Tk()
w.title('main')
w.geometry('300x300')

def c():
    t = tk.Toplevel()
    t.title('toplevel') 
    t.geometry('100x100')
    t.transient(w) 

b = tk.Button(w, text='click', command=c)
b.pack()
w.mainloop()

Кстати, вам нужно всего лишь один раз вызвать mainloop(), вызвав его сновав функции c бесполезно.

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