【问题标题】:Why am I still receving this error even if i have imported * from tkinter?为什么即使我从 tkinter 导入 *,我仍然会收到此错误?
【发布时间】:2020-06-17 13:22:58
【问题描述】:
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.SringVar()
AttributeError:类型对象“Tk”没有属性“SringVar”

解决这个问题:

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

【问题讨论】:

  • 你指的是什么错误?
  • 你没有说错误是什么,但你写SringVar而不是StringVar可能没有帮助
  • StringVartkinter 中定义,而不是在tkinter.Tk 中定义

标签: python tkinter


【解决方案1】:

问题是您正在导入*,但仍在调用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()

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-06-22
    • 2016-01-01
    • 2021-07-17
    • 2020-10-10
    • 2019-04-08
    相关资源
    最近更新 更多