如何将Tkinter窗口设为其他窗口的背景(实现反向-topmost效果)
解决全屏窗口遮挡设置窗口的问题
方案1:将设置窗口设为全屏窗口的子窗口
把设置窗口的父级指定为全屏窗口,这样设置窗口会始终依附在全屏窗口上方,不会被遮挡:
# 假设fullscreen_win是你的全屏窗口实例 settings_win = Toplevel(fullscreen_win) settings_win.title("设置") # 可选:额外设置设置窗口置顶,双重保障 settings_win.attributes('-topmost', True)
方案2:取消全屏窗口的置顶属性(若之前误设置)
如果你的全屏窗口被设置了-topmost=True,取消该属性后,设置窗口就能正常显示在它上方:
fullscreen_win.attributes('-topmost', False) # 强制将设置窗口提升到最上层并获取焦点 settings_win.lift() settings_win.focus_set()
方案3:监听全屏窗口点击事件,自动提升设置窗口
绑定全屏窗口的鼠标点击事件,每次点击时把设置窗口拉到最上层:
def lift_settings_window(event): settings_win.lift() fullscreen_win.bind("<Button-1>", lift_settings_window)
注意:如果是用attributes('-fullscreen', True)开启的全屏,部分系统下的独占全屏模式会强制窗口层级,可尝试改用wm_attributes('-fullscreen', True),同时配合fullscreen_win.attributes('-topmost', False)避免层级锁定。
内容的提问来源于stack exchange,提问作者D4R1U5
相关产品推荐
相关产品推荐

