TypeError: объект Entry не вызывается - PullRequest
0 голосов
/ 30 мая 2019

Я создаю Python с приложением Tkinter, и одна из вещей, которую он делает, - это ввод данных (из полей ввода) и их сохранение.Однако недавно он начал создавать этот код ошибки в нескольких местах:

Exception in Tkinter callback
Traceback (most recent call last):
File "C:\Users\Adam\AppData\Local\Programs\Python\Python37-32\lib\tkinter\__init__.py", line 1705, in __call__
return self.func(*args)
File "C:\Users\Adam\Desktop\paintersinventory.py", line 2773, in grabpaintingname
saveedit()
File "C:\Users\Adam\Desktop\paintersinventory.py", line 2736, in saveedit
w = str(title[pnttoedit]) + " (" + str(copyat) + ")"
TypeError: 'Entry' object is not callable

Вот соответствующий код, исключая всплывающее окно Tkinter, которое запрашивает информацию, которая существует и правильно, после нажатия кнопкиpress отправляет код на имя grabpainting def:

painter = {}
title = {}
names = []
pnttoedit = ''
copyat = 1

def saveedit(): 
    w = str(title[pnttoedit]) + " (" + str(copyat) + ")"
    names.append(w)
    v = painter[pnttoedit]
    painter[w] = v
    messagebox.showinfo("Painter's Inventory", "Copy of " + str(pnttoedit) + " created.")
    print(str(pnttoedit))

def grabpaintingname():
     global pnttoedit
     pnttoedit = tvkare.get()
     saveedit()

tvkare = StringVar(editers)
tvkare.set(names[0])
e2 = OptionMenu(mainframe, tvkare, *names)
e2.grid(row=3, column=1)
def change_dropdown(*args):
    pnttoedit = tvkare.get()

Любая помощь в решении этой проблемы или информация о том, почему она может возникнуть, будет очень признательна.Заранее спасибо!

1 Ответ

2 голосов
/ 30 мая 2019

Просто хотел отметить, что это было решено Брайаном Окли.

Я случайно вызвал переменную str.

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