【发布时间】:2013-11-29 12:28:22
【问题描述】:
到目前为止,我每次运行此代码时都会收到此错误:
Error message: 'UnboundLocalError: local variable 'rootent' referenced before assignment'
这是我一直在运行的代码: 我已经尝试在函数中使 rootent 全局化,并且我尝试将它作为 para 传递,但没有运气。 (希望有一个明确的答案/解释,因为我不是一个很棒的程序员(可能不明白你的答案))
class calculator():
def __init__(self):
def options():
fetch=float(rootent.get()) #Location of error
if fetch=='1':
def IEntry():
fetch=float(rootent.get())
fetch1=float(rootent1.get())
answer=fetch,'+',fetch1,'=',fetch1+fetch2
ansLabel=Label(root,text=answer).pack()
root=Tk()
root.title('Addition')
root.geometry('450x450+200+200')
rootlabel=Label(root,text='Enter first number').pack()
rootent=Entry()
rootent.pack()
rootlabel1=Label(root,text='Enter second number').pack()
rootent1=Entry()
rootent1.pack()
return
root=Tk()
root.title('Calculator Menu')
root.geometry('450x450+200+200')
rootlabel=Label(root,text='1.Addition').pack()
rootlabel1=Label(root,text='2.Subtraction').pack()
rootlabel2=Label(root,text='3.Multiplication').pack()
rootlabel3=Label(root,text='4.Division').pack()
rootent=Entry(root) #This is what i am trying to input into 'def options()'
rootent.pack()
rootbutton=Button(root,text='Enter option',command=options).pack()
【问题讨论】:
-
虽然这与问题没有直接关系,但 tkinter 并未设计为拥有多个
Tk实例。如果你想创建一个额外的窗口,你应该创建一个Toplevel的实例
标签: python-3.x tkinter