名称“entry\u widget”未定义?

2024-10-02 08:23:26 发布

您现在位置:Python中文网/ 问答频道 /正文

我刚刚写了一个程序,应该给我的能力,以“锁定”我的屏幕与我的屏幕分辨率大窗口,不能关闭,如果没有正确的密码给我。 所以我的问题是: 我在主窗口上有一个按钮,它创建了第二个窗口及其小部件。我在第二个窗口上有第二个按钮,它应该从第二个窗口上的Entry小部件获得给定的密码,这个小部件是由第一个窗口上的第一个按钮创建的。 当我单击第二个窗口上的第二个按钮时,它无法从第二个窗口上的entry小部件获取文本。你知道吗

def locking():
    password_box["state"] = "disabled"
    true_password = password_box.get()
    lock = Tk()
    lock.configure(bg="grey")
    lock.geometry(resolution)
    lock.wm_attributes("-topmost", 1)
    lock.resizable("False", "False")
    lock.overrideredirect(1)

    lock_password_box = Entry(lock, 
                              width="30",
                              justify="center",
                              show="*")
    unlock_button = Button(lock,
                           text="       Unlock       ",
                           command=unlocking)

    lock_password_box = Entry(lock,    # HERE THE WIDGET WHICH CAN NOT BE FOUND 
                              width="30",
                              justify="center", 
                              show="*")

    res_x_int = int(res_x)
    res_y_int = int(res_y)

    middle_x = res_x_int / 2
    middle_y = res_y_int / 2      

    middle_x_box = middle_x - 130
    middle_y_box = middle_y - 40

    middle_x_button = middle_x - 80
    middle_y_button = middle_y 

    lock_password_box.place(x=str(middle_x_box), y=(middle_y_box))
    unlock_button.place(x=str(middle_x_button), y=(middle_y_button)) 




def unlocking():
    given_password = lock_password_box.get()    # HERE I CALL IT

    if given_password.startswith("__commmand"):
        if given_password[11:] == "unlock":
            lock.destroy()
            password_box["state"] = "enabled"

        else:
            lock_password_box.insert("")

    elif given_password == true_password:
        lock.destroy()
        password_box["state"] = "enabled"

    else:
        lock_password_box.insert("") 

# AND FINALLY THE ERROR

Exception in Tkinter callback
Traceback (most recent call last):
  File "C:\Users\mbilal25tr\AppData\Local\Programs\Python\Python36-32\lib\tkinter\__init__.py", line 1699, in __call__
    return self.func(*args)
  File "C:\Users\mbilal25tr\Desktop\project.pyw", line 53, in unlocking
    given_password = lock_password_box.get()
NameError: name 'lock_password_box' is not defined

脚本(不长):https://drive.google.com/open?id=0B2caa1PPqDe8NWR1aFYxd09tVzA

我真的不明白为什么会这样。如果有人能帮忙,请帮忙。无论如何谢谢你。你知道吗


Tags: boxlockmiddleget部件buttonrespassword

热门问题