|
发表于 2023-5-15 20:03:14
|
显示全部楼层
在 `run_gui()` 方法中,您创建了一个新的 Tk() 对象,而不是使用主应用程序的对象。
这就是为什么进度条界面关闭不掉的原因:应用程序的主循环与进度条界面的循环相互独立,无法退出两个窗口。
要解决该问题,您可以使用 `Toplevel()` 而不是新建一种 Tk() 对象。 Toplevel() 是一个子窗口,它依赖于完整的主窗口,当你关闭子窗口时,主窗口也能随之关闭,示例如下:
- def run_gui(self):
- self.run = tk.Toplevel()
- self.run.title('正在运行')
- self.run.geometry("400x200")
- self.run.resizable(0, 0)
- jdt = Progressbar(self.run, length=200, mode='indeterminate')
- jdt.place(y=50, relx=0.5, anchor='center')
- jdt.start()
- label = tk.Label(self.run, text=' 正在连接,请稍等...',
- font=('标楷体', 15))
- label.place(relx=0.5, rely=0.5, anchor='center')
复制代码
除此之外,您可能需要处理进度条界面的异常退出情况,例如添加关闭按钮来正常关闭进度条界面。 |
|