如何在文本框中获取不同的输出,然后输入用户输入的内容

时间:2015-04-26 01:59:54

标签: python python-3.x tkinter

我刚刚开始使用tkinter,我的问题是如何在窗口小部件中获得不同的输出,然后用户输入的内容。目前,我的GUI会打印输入框中的任何用户类型,并将用户键入的内容打印到文本框中。

如果在输入框中输入某个单词而不是实际单词,我将如何进行制作?示例:"cat"中的用户类型,因此它会在文本框中打印"Hello I heard you like cats"

这是我目前的代码:

from tkinter import *
import sys

class Display(Frame):

    mGui = Tk()
    mGui.geometry("500x500-500-300")
    mGui.title("GUI")
    mlabel = Label(mGui, text="Welcome").pack()

    def __init__(self):
        Frame.__init__(self)
        self.entry = Entry(self)
        self.entry.pack()
        self.entry.bind("<Return>", self.onEnter)
        self.clearButton = Button(self, text="Clear text", command=self.clear_text)
        self.clearButton.pack()
        self.output = Text(self)
        self.output.pack()
        sys.stdout = self
        self.pack()

    def onEnter(self, Frame):
        print(self.entry.get())

    def write(self, txt):
        self.output.insert(END, str(txt))

    def clear_text(self):
        self.entry.delete(0, "end")

if __name__ == '__main__':
    Display().mainloop()

1 个答案:

答案 0 :(得分:0)

onEnter功能中进行如下更改

def onEnter(self, Frame):
        if self.entry.get().lower() == "cat":
            print("Hello I heard you like " + self.entry.get() + "s")
        else:
            print(self.entry.get())