【发布时间】:2023-01-12 20:18:04
【问题描述】:
我正在学习使用 tkinter 和 ttk,所以我尝试为随机密码生成器制作一个 GUI,这是我目前的代码:
import random
from tkinter import *
from tkinter import ttk
win = Tk()
win.geometry("300x250")
win.title('random pass generator')
global password_length
password_length = int()
enter_length = ttk.Entry(win , textvariable = password_length)
enter_length.pack()
global password
password = StringVar()
def generate_password(password_length):
i = 0
characters = ['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z']
while i < password_length:
password = password + random.choice(characters)
i = i + 1
generate = ttk.Button(win,text = 'generate',command = generate_password(password_length))
generate.pack()
label = ttk.Label(win,textvariable = password)
label.config(background = 'black')
label.pack()
win.mainloop()
问题是在我输入密码长度并单击按钮后,它没有给我密码。
我试图将密码分配给标签以将其显示在屏幕上,但在我单击按钮后它没有显示。
【问题讨论】:
-
修复显示代码的缩进。
-
应使用 set() 函数更改 StringVar 值