我一直在创建一个非常简单的密码生成器。括号中var
是已生成的密码。我一直在尝试为我的输出创建一个窗口。想法是,如果该窗口存在,则程序将提升该窗口。否则,它将创建窗口。然后,程序将创建一个标签,即密码。
问题是,它每次都会创建一个新窗口。
def outpt_(var):
try:
outpt.lift()
except:
outpt = tk.Toplevel()
outpt.title("Output Secure")
outpt.geometry("350x120")
outpot = tk.Label(outpt, text = var, font=("DejaVu Sans", 11)).pack()
问题是:
outpt
是函数中的局部变量。
问题是,它每次都会创建一个新窗口。
那是因为它将总是引发NameError
异常。下次调用此函数。python
找不到您的outpt
。
三种解决方案:
root = tk.Tk()
def outpt_(var):
try:
root.outpt.lift()
except:
root.outpt = tk.Toplevel()
root.outpt.title("Output Secure")
root.outpt.geometry("350x120")
outpot = tk.Label(root.outpt, text = var, font=("DejaVu Sans", 11)).pack()
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句