所以我在Python中有这个功能,可以在输入输入时检测意图。
for text in texts:
text_input = dialogflow.types.TextInput(text=text, language_code=language_code)
query_input = dialogflow.types.QueryInput(text=text_input)
response = session_client.detect_intent(session=session, query_input=query_input)
print ('Chatbot: {}\n'.format(response.query_result.fulfillment_text))
detect_intent_texts("chat-8","abc",["Hey"],"en-us")
还有我目前的gui
myText = StringVar()
window.resizable(False, False)
window.title("Chatbot")
window.geometry('400x400')
User_Input = Entry(window, textvariable=myText, width=50).place(x=20, y=350)
subButton = Button(window, text="Send").place(x =350, y=350)
window.mainloop()
我的目标是创建一个接受用户输入的GUI,并在提交代码后检测用户输入的内容。从上面可以看到,在最后一行[“ Hey”]上,我可以在此键入我喜欢的任何内容,并且聊天机器人可以在控制台中进行响应,尽管它不是我想要达到的目标。>
我该如何命令[“”]检测用户在Entry小部件中写了什么?
答案 0 :(得分:0)
place()
仅在特殊情况下才需要。最好使用pack()
或grid()
。
我不知道您想对输入的结果(对于文本中的文本)做什么,但这是一个有效的GUI。按下“发送”按钮时,您需要破坏主窗口。
对于tk和ttk条目小部件,始终使用tk.StringVar().get()
。使用Entry.get()
有时会给出空字符串。
import tkinter as tk
result = None
def Response():
global result
result = myText.get()
window.destroy()
window = tk.Tk()
myText = tk.StringVar()
window.resizable(False, False)
window.title("Chatbot")
window.geometry('400x400')
User_Input = tk.Entry(window, textvariable=myText, width=50).pack()
subButton = tk.Button(window, text="Send", command=Response ).pack()
window.mainloop()
print('Entered:', result)