python tkinter stringvar_关于tkinter StringVar()

我对tkinter StrinVar()有问题,我对tkinter不太了解,希望能得到一些帮助,谢谢。在

我所做的是我创建了两个窗口,每个窗口都有一个输入窗口小部件和一个按钮小部件,如果你点击一个窗口的按钮,这个窗口就会被撤回,另一个窗口会弹出,如果你在那个弹出窗口中单击按钮,它就会退出,一个原始窗口就会弹出上去。这里是代码:-在from tkinter import *

def x():

a1.set("")

a.withdraw()

b.deiconify()

def y():

b1.set("")

b.withdraw()

a.deiconify()

a=Tk()

a.withdraw()

a1=StringVar()

b1=StringVar()

Entry(a,textvariable=a1).pack()

Button(a,text="button1",command=x).pack()

a.withdraw()

b=Tk()

Entry(b,textvariable=b1).pack()

Button(b,text="button2",command=y).pack()

mainloop()

如果您在条目小部件中写入内容并按下按钮2,则会弹出第二个窗口;如果您在条目小部件中写入内容并按下按钮1,则在前一个窗口中输入字段不会更新。在

我发现有人建议不应该有两个Tk()一个tkinter必须只有一个Tk()的实例,以便多窗口使用Toplevel()。所以,我把b=Tk()改为b=Toplevel(),这很好,StringVar()正在更新值

现在,我的问题是1)没有用两个Tk()更新StingVar()背后的原因/逻辑是什么)有没有办法让StringVar()用两个Tk()更新值

你可能感兴趣的:(python,tkinter,stringvar)