python tkinter 新建 toplevel 时关闭之前的toplevel

问题描述

刚学python GUI,用的tkinter

当使用一个Tk()button打开一个Toplevel时, 一般可以无限制的打开, 怎么实现在新建时自动关闭之前的toplevel?

我的gui样子如下:
主程序

尝试和思路(不知道怎么实现那种)

  1. 有试过在下面加button(手动方案),然后配合destroy(), 因为我的Toplevel只是显示一张图片,加个button会显得很奇怪

显示图片

  1. 一个实现自动的思路就是检测焦点是否在本窗口, 如果不在就destroy(),但是不知道该怎么实现,bind的检测焦点只能用于控件

回答:

已解决.
引入全局变量

global top

try:

top.destroy()

finally:

top = Toplevel()

来源:stackoverflow

以上是 python tkinter 新建 toplevel 时关闭之前的toplevel 的全部内容, 来源链接: utcz.com/a/157762.html

回到顶部