簡體   English   中英

當主 window 最小化時,為什么頂級 window 會被破壞?

[英]Why does a Toplevel window get destroyed when the main window is minimized?

from tkinter import *

root = Tk()
root.geometry("500x500")

toplevel = Toplevel()
toplevel.attributes("-toolwindow" , 1)

mainloop()

在這段代碼中,當我最小化主 window 並再次打開它時,頂層 window 消失了。

這是描述我的問題的圖像(GIF):

在此處輸入圖像描述

有沒有辦法避免這種情況?

如果有人可以幫助我,那就太好了。

(操作系統:Windows 10,Python 版本:3.9.1,Tkinter 版本:8.6)

toolwindow 屬性專門設計用於在根 window 隱藏時使 window 隱藏。 如果您不想要這種行為,請不要設置該屬性。

在acw1668的幫助下,我自己找到了答案。

頂層 window 不消失; 相反,它只是落后於所有 windows。

我找到了一種方法來把它帶回來:

from tkinter import *

root = Tk()
root.geometry("500x500")

def bring_window_back(e):
    toplevel.attributes('-topmost' , 1)
    toplevel.attributes('-topmost' , 0)
    
toplevel = Toplevel(root)
toplevel.attributes("-toolwindow" , 1)

root.bind("<Map>" , bring_window_back)

mainloop()

注意: <Map>綁定可能無法在 linux 上正常工作。 如果您正在為此尋找解決方案,請參閱: 綁定回調以最小化和最大化頂層 windows 中的事件

希望這對大家有幫助。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM