Почему я все еще получаю эту ошибку, даже если я импортировал * из tkinter? - PullRequest
0 голосов
/ 17 июня 2020
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()

Traceback (последний вызов последний):
user = Tk.SringVar ()
AttributeError: объект типа 'Tk' не имеет атрибута 'SringVar'

исправление этого дает:

user = Tk.StringVar ()
AttributeError: объект типа 'Tk' не имеет атрибута 'StringVar'

1 Ответ

0 голосов
/ 17 июня 2020

Проблема в том, что вы импортируете *, но по-прежнему вызываете 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().

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...