感谢您抽出宝贵时间回答问题。我是脚本初学者,所以我不太熟悉GUI原理。
我正在编写一个包含tkinter的脚本,以根据用户的文本输入并按下键来搜索和打印来自Wolframalpha和Wikipedia的信息。
class citrus(tkinter.Tk):
def __init__(self, master):
tkinter .Tk.__init__(self, master)
self.master = master
self.initialize()
def initialize(self):
self.grid()
self.entry = tkinter.Entry(self)
self.entry.bind = ("<Return>", self.OnEnter)
self.entry.grid(column=0, row=0)
self.grid_columnconfigure(0, weight=1)
self.resizable(True, True)
def OnEnter(self, event):
input = self.entryVariable.get()
input = input.lower
try:
appID = "ER92YJ-GAXAJEPXEK"
client = wolf.Client(appID)
res = client.query(input)
answer = next(res.results).text
print(answer)
except:
wikipedia.set_lang("en")
print(wikipedia.summary(input, sentences=3))
if __name__ == "__main__":
app = citrus(None)
app.title("citrus")
app.mainloop()
由于某种原因,在用户将文本输入文本框并按下键后,显示的GUI窗口不会执行任何操作,而应该提供从Wolframalpha或Wikipedia收集的信息。
对于脚本失败的原因,我将不胜感激。
答案 0 :(得分:0)
您要重新定义bind
,而不是调用它。
问题是此代码行中的=
:
self.entry.bind = ("<Return>", self.OnEnter)
代码应改为:
self.entry.bind("<Return>", self.OnEnter)