Python 为什么即使我从tkinter导入了*,我仍然会收到这个错误?

Python 为什么即使我从tkinter导入了*,我仍然会收到这个错误?,python,tkinter,Python,Tkinter,回溯(最近一次呼叫最后一次): user=Tk.SringVar() AttributeError:类型对象“Tk”没有属性“SringVar” 解决这一问题将提供: user=Tk.StringVar() AttributeError:类型对象“Tk”没有属性“StringVar” 问题是您正在导入*,但仍在调用Tk from tkinter import * from tkinter import StringVar root = Tk() root.geometry('500x400')

回溯(最近一次呼叫最后一次):
user=Tk.SringVar()
AttributeError:类型对象“Tk”没有属性“SringVar”

解决这一问题将提供:

user=Tk.StringVar()
AttributeError:类型对象“Tk”没有属性“StringVar”


问题是您正在导入
*
,但仍在调用Tk

from tkinter import *
from tkinter import StringVar
root = Tk()

root.geometry('500x400')

l2 = Label(root, text = 'USERNAME')
l3 = Label (root, text = 'PASSWORD')

l2.grid()
l3.grid(row=1)

user = Tk.SringVar()
password = Tk.StringVar()

e1 = Entry (root, textvariable=user)
e2 = Entry (root, textvariable=password)

e1.grid()
e2.grid()

root.mainloop()

我测试了这段代码,现在应该可以正常运行了。导入
*
时,它会导入所有函数和对象,因此没有理由调用
Tk.StringVar()

您指的是什么错误?您没有说明错误是什么,但是如果您编写了
SringVar
而不是
StringVar
StringVar
是在
tkinter
中定义的,而不是在
tkinter.Tk
from tkinter import *
#from tkinter import StringVar
root = Tk()

root.geometry('500x400')

l2 = Label(root, text = 'USERNAME')
l3 = Label (root, text = 'PASSWORD')

l2.grid()
l3.grid(row=1)

user = StringVar() #Typo here #Not
password = StringVar()

e1 = Entry (root, textvariable=user)
e2 = Entry (root, textvariable=password)

e1.grid()
e2.grid()

root.mainloop()