Как мне выйти из команды в Tkinter, Python? - PullRequest
0 голосов
/ 03 марта 2020

Я хочу, чтобы моя программа отображала слова из списка1, и пользователь запишет перевод в запись. Если это правильно или неправильно будет отображаться на выходе метки. Но когда я нажимаю на кнопку ничего не происходит. Я хочу, чтобы он отображал следующее слово после нажатия, но это не так. Что я делаю не так?

Спасибо:)

def programme(self, frame, list2, list1):
        self.number= 1
        def correct(event):
            if(self.enter_button.cget("text") == "Enter"):
                answer= self.entry.get()
                if(answer.lower() == correct.lower()):
                    self.output.config(text = "Correct!")
                    self.enter_button.config(text = "Next")     
                else:
                    self.output.config(text = "Nope, sorry!", foreground = "red")
                    self.enter_button.config(text = "Next")
            else:
                self.number= self.number+ 1   
                #correct.quit()


        text = list1[self.number]
        correct = list2[self.number]

        self.label = ttk.Label(frame, text = text)
        self.label.grid(row=1, ipady = 5, pady=5)
        self.entry = ttk.Entry(frame)
        self.entry.grid(row=2, sticky="NSWE")
        self.enter_button = ttk.Button(frame, text = "Enter")
        self.enter_button.bind("<Button>", correct)
        self.enter_button.grid(row=3)
        self.output= ttk.Label(frame, text = "",foreground = "black", font = 30, borderwidth=2,  width = 35, anchor="center")
        self.output.grid(row=4, pady = 20)

Я не уверен насчет правильного .quit ()

1 Ответ

0 голосов
/ 03 марта 2020

Вам необходимо добавить аргумент «command» в функцию ttk.Button, например: ttk.Button(background, text="Submit", command=gui.stream)

Этот аргумент ключевого слова команды ссылается на функцию, поэтому в вашем примере command=programme

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