我刚刚写了一个程序,应该给我的能力,以“锁定”我的屏幕与我的屏幕分辨率大窗口,不能关闭,如果没有正确的密码给我。 所以我的问题是: 我在主窗口上有一个按钮,它创建了第二个窗口及其小部件。我在第二个窗口上有第二个按钮,它应该从第二个窗口上的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
我真的不明白为什么会这样。如果有人能帮忙,请帮忙。无论如何谢谢你。你知道吗
目前没有回答
相关问题 更多 >
编程相关推荐