我正在将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()
答案 0 :(得分:0)
方法.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
中再次调用是没有用的。