鱼C论坛

 找回密码
 立即注册
查看: 2371|回复: 4

[已解决]tkinter 求助

[复制链接]
发表于 2023-5-15 20:03:14 | 显示全部楼层
在 `run_gui()` 方法中,您创建了一个新的 Tk() 对象,而不是使用主应用程序的对象。

这就是为什么进度条界面关闭不掉的原因:应用程序的主循环与进度条界面的循环相互独立,无法退出两个窗口。

要解决该问题,您可以使用 `Toplevel()` 而不是新建一种 Tk() 对象。 Toplevel() 是一个子窗口,它依赖于完整的主窗口,当你关闭子窗口时,主窗口也能随之关闭,示例如下:

  1. def run_gui(self):
  2.     self.run = tk.Toplevel()
  3.     self.run.title('正在运行')
  4.     self.run.geometry("400x200")
  5.     self.run.resizable(0, 0)

  6.     jdt = Progressbar(self.run, length=200, mode='indeterminate')
  7.     jdt.place(y=50, relx=0.5, anchor='center')
  8.     jdt.start()

  9.     label = tk.Label(self.run, text=' 正在连接,请稍等...',
  10.                      font=('标楷体', 15))
  11.     label.place(relx=0.5, rely=0.5, anchor='center')
复制代码

除此之外,您可能需要处理进度条界面的异常退出情况,例如添加关闭按钮来正常关闭进度条界面。
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-10-21 03:14

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表