我希望使用tkinter在新窗口中生成密码(按下按钮时):
import math, random, os, string, tkinter, tkinter as tk
def generate_password(pass_len):
symbols = "!$%^&*()-_=+QWERTYUIOPASDFGHJKLZXCVBNM1234567890qwertyuiopasdfghjklzxcvbnm"
genpw = ''.join([symbols[math.floor(int(i) / 256 * len(symbols))] for i in os.urandom(pass_len)])
print(genpw)
create = tkinter.Button(root, pady=2, height=3, text = "create password", command = generate_password)
但是,我遇到以下错误:
TypeError:generate_password()缺少1个必需的位置参数:' pass_len'
非常感谢任何帮助。
答案 0 :(得分:0)
当您按下创建密码按钮时,tkinter会在没有任何参数的情况下调用您的generate_password
函数,并且您可以使用它。
这是一个简单的解决方案:
create = tkinter.Button(root, pady=2, height=3, text="create password", command= lambda: generate_password(10))