Python get()返回一个空字符串

Python get()返回一个空字符串,python,python-3.x,tkinter,Python,Python 3.x,Tkinter,我是一个初学者,我正在做一个登录系统(只是为了练习)。 我正在使用tkinter开发一个简单的UI。问题是,当我从另一个根目录(主屏幕)用按钮调用第二个根目录(在根目录中签名)时,我尝试在条目中键入一些值,并将StringVars分配给它们,它们只返回一个空字符串“” 拥有多个Tk实例变得异常复杂,因为每个实例都创建了一个单独的tcl解释器。这会产生奇怪的效果,就像你在这里看到的一样。您几乎总是想使用Toplevel小部件。非常感谢,我整个下午都在与这个“bug”作斗争。你的回答救了我。

我是一个初学者,我正在做一个登录系统(只是为了练习)。 我正在使用tkinter开发一个简单的UI。问题是,当我从另一个根目录(主屏幕)用按钮调用第二个根目录(在根目录中签名)时,我尝试在条目中键入一些值,并将StringVars分配给它们,它们只返回一个空字符串“”


拥有多个
Tk
实例变得异常复杂,因为每个实例都创建了一个单独的tcl解释器。这会产生奇怪的效果,就像你在这里看到的一样。您几乎总是想使用
Toplevel
小部件。

非常感谢,我整个下午都在与这个“bug”作斗争。你的回答救了我。
    def main_screen():

        root=Tk()
        user=StringVar()
        pas=StringVar()

        btn2=Button(root,text='Sign-In',command=sign_in_screen)
        btn2.place(x=125,y=160)

        root.mainloop()

   def sign_in_screen():
        root1=Tk()
        newuser=StringVar()
        newpas=StringVar() 

        ent3=Entry(root1,width=28,textvariable=newuser) 
        ent3.place(x=100,y=50)

        ent4=Entry(root1,width=28,textvariable=newpas,show="*")
        ent4.place(x=100,y=100)

        btn3=Button(root1,text='Sign-In',command=lambda:register(newuser.get(), newpas.get()))
        btn3.place(x=50,y=160)

        root1.mainloop()

    main_screen()