Вставить текст в текстовый виджет python tkinter - PullRequest
0 голосов
/ 13 марта 2020

Я делал программу, которая реагирует на ввод пользователя. Когда я запускаю его, мой код не вставляет ответ в текстовый виджет. Я получаю сообщение об ошибке:

Ошибка типа: 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 Ответ

1 голос
/ 13 марта 2020

Это довольно простой ответ. В своем коде вы написали text.insert(END, meaning), ранее в другой области вы набрали text.insert(meaning). Я думаю, что вы просто что-то упускаете, когда набираете код. Попробуйте скопировать правильную версию кода (с КОНЕЦ перед ним) в строке, где вы получаете свою проблему. Кроме того, могу ли я предложить добавить комментарии к вашему коду, так как это намного легче увидеть, где проблема.

...