gpt4 book ai didi

python - 如何使用按钮销毁程序中当前打开的每个屏幕

转载 作者:行者123 更新时间:2023-12-01 07:26:11 26 4
gpt4 key购买 nike

我正在创建一个编程项目,它将使用 matplotlib 和 Tkinter GUI 来模拟细菌。用户登录后有 2 个选项。一种是继续程序的主要部分,第二种选择是退出程序。我想知道如何在按下“退出”按钮后关闭整个程序。

我尝试使用当前打开的 .destroy() 命令销毁每个屏幕,但是我收到多条错误消息,并且我不确定为什么这是错误的。

def shutdown():
screen.destroy()
screen2.destroy()
screen3.destroy()
screen6.destroy()
screen7.destroy()
screen8.destroy()

def session():
global screen8
screen8 = Toplevel(screen)
screen8.title("Dashboard")
screen8.geometry("400x400")
Label(screen8, text = "Welcome to the Dashboard").pack()
Button(screen8, text = "Simulate Bacteria", command = simulate_bacteria).pack()
Button(screen8, text = "Quit", command = shutdown).pack()
<小时/>
Exception in Tkinter callback
Traceback (most recent call last):
File "C:\Users\aliso\AppData\Local\Programs\Python\Python37-32\lib\tkinter\__init__.py", line 1705, in __call__
return self.func(*args)
File "C:\Users\aliso\Desktop\CompSci Project\BacSim.py", line 15, in shutdown
screen2.destroy()
File "C:\Users\aliso\AppData\Local\Programs\Python\Python37-32\lib\tkinter\__init__.py", line 2305, in destroy
self.tk.call('destroy', self._w)
_tkinter.TclError: can't invoke "destroy" command: application has been destroyed

最佳答案

我相信这是因为您使用的是Toplevel,所以一旦根窗口(screen)被销毁,所有其他窗口也会被销毁。

你的函数应该是这样的:

def shutdown():
screen.destroy()

关于python - 如何使用按钮销毁程序中当前打开的每个屏幕,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57437743/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com