【问题标题】:How to get a different output in textbox then what the user enters如何在文本框中获得与用户输入不同的输出
【发布时间】:2015-04-26 01:59:53
【问题描述】:

我最近才开始使用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()

【问题讨论】:

    标签: python python-3.x tkinter


    【解决方案1】:

    在您的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())
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-11-24
      • 2021-08-01
      • 2015-04-09
      • 2011-08-25
      • 2019-02-07
      • 1970-01-01
      相关资源
      最近更新 更多