Tkinter“标签对象不可调用”

时间:2016-03-07 15:50:22

标签: python tkinter

我正在尝试将Tkinter标签的文本设置为等于Entry对象的用户输入。

以下是相关代码:

def Return(event):
    global Password
    global Input
    global SecurityLabel

    Password = Input.get()

    Parse(Password)
    Variations(Password)
    Search(Password)
    Additions(Password)
    Deductions(Password)
    CheckForAdjacency(ConvertToCoordinates(Password))
    MinimumRequirements(Password)

    print("Your password security rating is: " + str(Security))
    SecurityLabel['text'] = Security 

#GUI
MainWindow = Tk()
MainWindow.title("Password Assessor")
MainWindow.geometry("500x100")

TopMenu = Menu(MainWindow)
MainWindow.config(menu = TopMenu)

subMenu = Menu(TopMenu)
TopMenu.add_cascade(label="file", menu=subMenu)
subMenu.add_command(label="boop")

Label = Label(MainWindow, text="Please enter a password:")
Label.pack(fill = 'x')

SecurityLabel = Label(MainWindow, text="")
SecurityLabel.pack(fill = 'x')

Input = Entry(MainWindow, show="*")
Input.pack(fill = 'x')
Input.focus_set 

MainWindow.bind('<Return>', Return)

MainWindow.mainloop()

当使用此代码从名为Input的输入框中按下返回键时,我抓住用户的输入:

Password = Input.get()

我尝试使用以下代码将名为SecurityLabel的标签文本设置为整数“Security”:

SecurityLabel['text'] = Security 

使用以下代码初始化SecurityLabel:

SecurityLabel = Label(MainWindow, text="")
SecurityLabel.pack(fill = 'x')

当我尝试运行代码时,出现此错误:

Traceback (most recent call last):
  File "/Users/kosay.jabre/Desktop/Password Assessor/Password.py", line 242, in <module>
    SecurityLabel = Label(MainWindow, text="")
TypeError: 'Label' object is not callable

我不知道我做错了什么。我怎样才能做到这一点?请尽量简化您的解释。

1 个答案:

答案 0 :(得分:1)

问题在于:

Label = Label(MainWindow, text="Please enter a password:")
Label.pack(fill = 'x')

命名标签“Label”会产生一些问题。将此标签的名称更改为“Label”以外的其他名称可解决错误并使其他标签正常运行。