我在我的 tkinter 密码生成器程序中使用标签来显示生成的密码,但是当我将密码的长度从比以前更低的值更改时(例如从 20 到 10 的长度),显示密码的标签似乎是覆盖 - 不清楚。我已经搜索了执行此操作的方法,但似乎找不到任何方法。
这是我的代码:
from tkinter import *
from random import *
import string
root = Tk()
root.wm_title("Password Generator")
topFrame = Frame(root)
topFrame.pack()
bottomFrame = Frame(root)
bottomFrame.pack(side=BOTTOM)
root.geometry("1000x1000")
title = Label(topFrame, text="Length", fg="blue")
title.grid(row=3,column=5)
var = DoubleVar()
Slider_1 = Scale(root,orient=HORIZONTAL,length=32*10,from_=0,to=32, variable
= var)
Slider_1.pack()
passLen = var.get()
uppercaseLetters = "QWERTYUIOPASDFGHJKLZXCVBNM"
lowercaseLetters = "qwertyuiopasdfghjklzxcvbnm"
symbols = "!£$%^&*()_+-=}{][~@#':;?>/.<,"
digits = "1234567890"
def gen():
characters = uppercaseLetters + lowercaseLetters + symbols + digits
password = "".join(choice(characters) for x in range(int(var.get())))
passLabel = Label(topFrame, text=password)
passLabel.grid(row=4, column=5)
genButton = Button(topFrame, text="Generate Password", fg="blue",
command=gen)
genButton.grid(row=1, column=5)
root.mainloop()
当我将长度设置为 32 个字符时:
当我将长度设置为 6 个字符时,它不会清除旧密码标签 - 它只是在旧密码标签的中间覆盖它:
原文由 James 发布,翻译遵循 CC BY-SA 4.0 许可协议
改变两件事:第一:
第二: