在python中要求用户在特定时间段后输入密码

2024-09-30 02:23:34 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在用python和Tkinter模块编写这个函数

我希望用户在按下show时输入密码。但我只想要求用户输入密码,如果最后一个密码是15分钟前询问的

    def show(self):

    if self.showButton['text'] == "hide":
        self.showButton['text'] = "show"
        self.password_text_label.grid_forget()
        self.password_display_label.grid(row=6 + self.count, column=2, sticky=E, padx=5)
    else:
        popupWindow(root)   # this will ask for master-password if you want to see the password (Another Layer of security)
        self.showButton['text'] = "hide"
        self.password_display_label.grid_forget()
        self.password_text_label.grid(row=6 + self.count, column=2, sticky=E, padx=5)

Tags: text用户self密码ifshowcountdisplay
1条回答
网友
1楼 · 发布于 2024-09-30 02:23:34

创建一个变量并存储上次登录时间,然后将其与当前时间进行比较。要获得时差,可以使用^{}

以下是一个例子:

from tkinter import *
from datetime import datetime
from dateutil.relativedelta import relativedelta


minutes = 15

def askPasswd():
    global lastAsked
 
    if lastAsked is None or relativedelta(datetime.now(), lastAsked).minutes  >= minutes:
        lastAsked = datetime.now()

        top = Toplevel()
        Label(top, text='Password').pack()
        Entry(top).pack()
        
root = Tk()

lastAsked = None

askBtn = Button(root, text='Ask', command=askPasswd)
askBtn.pack()

root.mainloop()

相关问题 更多 >

    热门问题