首页 > 解决方案 > 如何在 Tkinter、Python 中退出命令?

问题描述

我希望我的程序显示 list1 中的单词,并且用户将其翻译写入条目。如果正确或错误将显示在输出标签上。但是当我点击按钮时,什么也没有发生。我希望它在单击后显示下一个单词,但事实并非如此。我究竟做错了什么?

谢谢 :)

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()

标签: pythonbuttontkinter

解决方案


您需要在 ttk.Button 函数中添加一个“命令”参数,如下所示: ttk.Button(background, text="Submit", command=gui.stream)

该命令关键字参数引用了一个函数,因此在您的示例中command=programme


推荐阅读