tkinter关闭两个弹出窗口

时间:2019-09-05 21:40:58

标签: python tkinter

Python初学者在这里。

我有一个问题,我正在弹出一个窗口,其中显示星期数。

但是我得到了一个双tkinter窗口,当我按Okay时,它仅关闭一个窗口(一个显示星期数的窗口),而另一个窗口保持打开状态。

我尝试注释所有行,以查看哪个打开了第二个tkinter,但找不到。有人能帮我吗?当我按下ok时关闭两个窗口还是根本不打开第二个窗口?

提前谢谢!

(也没有你们和这个社区,我永远都不会学习编程,所以谢谢大家!)

这是代码:

root = tk.Tk()

def popupmsg(msg):
    popup = tk.Toplevel(root)
    popup.wm_title("weeknummer")
    popup.tkraise(root) 
    tk.Label(popup, text=msg).pack(side="top", fill="x", pady=10)
    tk.Button(popup, text="Okay", command = popup.destroy).pack()

popupmsg('het is weeknummer {}'.format(weeknummer))

root.mainloop()

1 个答案:

答案 0 :(得分:0)

“其他”窗口是根窗口。

import tkinter as tk


def popupmsg(msg):
    popup = tk.Toplevel(root)
    popup.wm_title("weeknummer")
    tk.Label(popup, text=msg).pack(side="top", fill="x", pady=10)
    tk.Button(popup, text="Okay", command = popup.destroy).pack()


root = tk.Tk()

weeknummer = 2
message = f'het is weeknummer {weeknummer}'

tk.Label(root, text='This is the root').pack()
tk.Button(root, text='spawn popup', command=lambda msg=message: popupmsg(msg)).pack()

root.mainloop()

或者,代替创建自己的Toplevel窗口,可以使用tkinter standard dialog widget

相关问题