# program saved as wolgui.py
from tkinter import *
Window = Tk()
Window.title("WolframAlpha")
Window.geometry("540x590")
'''menu = Menu(Window)
item = Menu(menu)
item.add_command(label='New')
menu.add_cascade(label='Execute once more', menu=item)
Window.config(menu=menu)'''
lbl = Label(Window, text = "Ask WolframAlpha")
lbl.grid()
txt = Entry(Window, width=10)
txt.grid(column =1, row =0)
def click():
resu = Entry(Window,bd=5)
#Window.mainloop()
import wolframalpha
client = wolframalpha.Client('YOUR_CLIENT_ID')
result = client.query(resu)
output = next(result.results).text
# button widget with blue color text inside
# Set Button.grid
btn = Button(Window, text = "Click me for the answer" ,fg = "blue",command=click)
btn.grid(column=2, row=0)
lbl2 = Label(Window, text = "Answer: ")
lbl2.grid()
txt2 = Entry(output, width=10)
txt2.grid(column =1, row =0)
lbl2.grid()
Window.mainloop()
为什么我得到这个traceback??
Traceback (most recent call last):
File "wolgui.py", line 38, in <module>
txt2 = Entry(output, width=10)
NameError: name 'output' is not defined
***Repl Closed***
我想我已经导入了这个函数-那么我应该重写/再次导入它吗??还是压痕问题?原谅我的无知-我在Python中不是太多产...
2条答案
按热度按时间lqfhib0f1#
我想如果你把这个结构放在函数的底部,你的问题就解决了。问题是你在函数中定义的“output”变量将不会被定义,除非函数被执行。因为您在第一次运行时调用此变量,所以会遇到错误。
8oomwypt2#
txt2 = Entry(output,width=10)
NameError:未定义名称“output”。
你有打字错误。
这个问题是可以解决的。
更改此:
到