将文本插入python tkinter文本小部件

时间:2020-03-13 18:56:40

标签: python tkinter char

我一直在制作一个响应用户输入的程序。当我运行它时,我的代码不会将响应插入到文本小部件中。我收到错误消息:

TypeError:insert()缺少1个必需的位置参数:'chars'

我的代码是:

global stuff
stuff = open("Dictionary.txt", "r")
global contents
contents = stuff.read()
stuff.close()
from tkinter import *

dictionary = {"chungus": "Come at me chungus ... you wanna go?",
                      "hi": "It's good to see you!", "bot": "No - you're the BOT"}

def output():
    TT = entry.get()
    text.delete(0.0, END)
    try:
        meaning = dictionary[TT]
    except:
        meaning = "We do not have a reply for this yet..."
    text.insert(meaning)

def words():
    TT = (contents)
    text.delete(0.0, END)
    meaning = (TT)
    text.insert(END, meaning)




global window
window = Tk()
window.title("WFR")
label1 = Label(window, text="Enter stuff for reply (No caps):    ")
label1.grid(row=0, column=0, sticky=W)
entry = Entry(window, width=35, bg="light green")
entry.grid(row=1, column=0, sticky=W)
button1 = Button(window, text="SUBMIT", width=8, command=output)
button1.grid(row=3, column=0, sticky=W)
text = Text(window, width=60, height=20, wrap=WORD, background="yellow")
text.grid(row=2, column=0, sticky=W)
menubar = Menu(window)
firstmenu = Menu(menubar, tearoff=0)
firstmenu.add_command(label="Type What?", command=words)
menubar.add_cascade(label="Options", menu=firstmenu)
window.config(menu=menubar)
window.mainloop()

我错过了什么吗?

1 个答案:

答案 0 :(得分:1)

这很容易回答。在您的代码中,您已经编写了[Pipeline] Start of Pipeline [Pipeline] node Running on Maven Agent in /home/ec2-user/workspace/springboot-pipeline@5 [Pipeline] { [Pipeline] stage [Pipeline] { (Check Out) [Pipeline] stage [Pipeline] { (Check Out) [Pipeline] stage [Pipeline] { (Check Out) [Pipeline] stage [Pipeline] { (Check Out) [Pipeline] stage [Pipeline] { (Check Out) [Pipeline] End of Pipeline java.lang.StackOverflowError at org.jboss.marshalling.river.RiverMarshaller.doWriteObject(RiverMarshaller.java:131) at org.jboss.marshalling.river.RiverMarshaller.doWriteFields(RiverMarshaller.java:1082) at org.jboss.marshalling.river.RiverMarshaller.doWriteSerializableObject(RiverMarshaller.java:1040) at org.jboss.marshalling.river.RiverMarshaller.doWriteObject(RiverMarshaller.java:920) at org.jboss.marshalling.river.RiverMarshaller.doWriteFields(RiverMarshaller.java:1082) at org.jboss.marshalling.river.RiverMarshaller.doWriteSerializableObject(RiverMarshaller.java:1040) at org.jboss.marshalling.river.RiverMarshaller.doWriteSerializableObject(RiverMarshaller.java:1019) at org.jboss.marshalling.river.RiverMarshaller.doWriteObject(RiverMarshaller.java:920) at org.jboss.marshalling.river.RiverMarshaller.doWriteFields(RiverMarshaller.java:1082) at org.jboss.marshalling.river.RiverMarshaller.doWriteSerializableObject(RiverMarshaller.java:1040) at org.jboss.marshalling.river.RiverMarshaller.doWriteSerializableObject(RiverMarshaller.java:1019) at org.jboss.marshalling.river.RiverMarshaller.doWriteObject(RiverMarshaller.java:920) at org.jboss.marshalling.river.RiverMarshaller.doWriteFields(RiverMarshaller.java:1082) at org.jboss.marshalling.river.RiverMarshaller.doWriteSerializableObject(RiverMarshaller.java:1040) at org.jboss.marshalling.river.RiverMarshaller.doWriteSerializableObject(RiverMarshaller.java:1019) at org.jboss.marshalling.river.RiverMarshaller.doWriteObject(RiverMarshaller.java:920) at org.jboss.marshalling.river.RiverMarshaller.doWriteFields(RiverMarshaller.java:1082) at org.jboss.marshalling.river.RiverMarshaller.doWriteSerializableObject(RiverMarshaller.java:1040) at org.jboss.marshalling.river.RiverMarshaller.doWriteSerializableObject(RiverMarshaller.java:1019) at org.jboss.marshalling.river.RiverMarshaller.doWriteObject(RiverMarshaller.java:920) at org.jboss.marshalling.river.RiverMarshaller.doWriteFields(RiverMarshaller.java:1082) at org.jboss.marshalling.river.RiverMarshaller.doWriteSerializableObject(RiverMarshaller.java:1040) at org.jboss.marshalling.river.RiverMarshaller.doWriteSerializableObject(RiverMarshaller.java:1019) at org.jboss.marshalling.river.RiverMarshaller.doWriteObject(RiverMarshaller.java:920) at org.jboss.marshalling.river.RiverMarshaller.doWriteFields(RiverMarshaller.java:1082) at org.jboss.marshalling.river.RiverMarshaller.doWriteSerializableObject(RiverMarshaller.java:1040) at org.jboss.marshalling.river.RiverMarshaller.doWriteSerializableObject(RiverMarshaller.java:1019) at org.jboss.marshalling.river.RiverMarshaller.doWriteObject(RiverMarshaller.java:920) Finished: FAILURE ,此前您在另一区域中键入了text.insert(END, meaning)。我认为这仅仅是您在键入代码时缺少的东西。尝试在出现问题的行中复制正确版本的代码(带END,然后加上END)。另外,我建议您在代码中添加注释,因为这样可以更轻松地查看问题出在哪里。