Событие в классе tkinter, имя функции не определено - PullRequest
0 голосов
/ 29 января 2019

Когда я пытаюсь создать мини-калькулятор с использованием класса Tkinter, интерпретатор возвращает код ошибки «NameError: name« define »notfined».Я также пытался определить мою функцию оценки перед "def init", но она все еще не работает.

from tkinter import *

class App(Tk):
    def __init__(self):
        Tk.__init__(self)

        self.entree = Entry(self)
        self.chaine = Label(self)

        self.entree.bind("<Return>", evaluate)

        self.entree.pack()
        self.chaine.pack()

    def evaluate(self, event):
        self.chaine.configure(text="Result = " + str(eval(self.entree.get())))

app = App()
app.mainloop()

спасибо за вашу помощь!

1 Ответ

0 голосов
/ 29 января 2019

evaluate - это метод внутри вашего App класса.Метод доступен в любом месте класса, используя его член self.self - это сам объект начального класса, и вы не можете получить доступ к чему-либо (методам, переменным и т. Д.) Внутри класса без этого члена.Поэтому вы должны использовать:

#<---code---->
self.entree.bind("<Return>", self.evaluate)
#<---code---->
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...