Python+tkinter模擬“記住我”自動(dòng)登錄實(shí)例代碼
本文分享的代碼主要是通過(guò)Python+tkinter模擬“記住我”自動(dòng)登錄的功能,具體介紹如下。
基本思路:如果某次登錄成功,則創(chuàng)建臨時(shí)文件記錄有關(guān)信息,每次啟動(dòng)程序時(shí)嘗試自動(dòng)獲取上次登錄成功的信息并自動(dòng)編寫。本文主要演示思路,可根據(jù)實(shí)際系統(tǒng)中的需要進(jìn)行改寫,例如讀取數(shù)據(jù)庫(kù)并驗(yàn)證用戶名和密碼是否正確、對(duì)用戶名和密碼進(jìn)行本地加密存儲(chǔ)等等。
import tkinter
import tkinter.messagebox
import os
import os.path
# 獲取Windows平臺(tái)臨時(shí)文件夾
path = os.getenv('temp')
filename = os.path.join(path, 'info.txt')
# 創(chuàng)建應(yīng)用程序窗口
root = tkinter.Tk()
# 在窗口上創(chuàng)建標(biāo)簽組件
labelName = tkinter.Label(root,text='User Name:',justify=tkinter.RIGHT,width=80)
labelName.place(x=10, y=5, width=80, height=20)
# 創(chuàng)建字符串變量和文本框組件,同時(shí)設(shè)置關(guān)聯(lián)的變量
varName = tkinter.StringVar(root, value='')
entryName = tkinter.Entry(root,width=80,textvariable=varName)
entryName.place(x=100, y=5, width=80, height=20)
labelPwd = tkinter.Label(root,text='User Pwd:',justify=tkinter.RIGHT,width=80)
labelPwd.place(x=10, y=30, width=80, height=20)
# 創(chuàng)建密碼文本框
varPwd = tkinter.StringVar(root, value='')
entryPwd = tkinter.Entry(root,show='*',width=80,textvariable=varPwd)
entryPwd.place(x=100, y=30, width=80, height=20)
# 嘗試自動(dòng)填寫用戶名和密碼
try:
with open(filename) as fp:
n, p = fp.read().strip().split(',')
varName.set(n)
varPwd.set(p)
except:
pass
# 登錄按鈕事件處理函數(shù)
def login():
# 獲取用戶名和密碼
name = entryName.get()
pwd = entryPwd.get()
if name=='admin'and pwd=='123456':
tkinter.messagebox.showinfo(title='恭喜',message='登錄成功!')
# 把登錄成功的信息寫入臨時(shí)文件
with open(filename, 'w') as fp:
fp.write(','.join((name,pwd)))
else:
tkinter.messagebox.showerror('警告',message='用戶名或密碼錯(cuò)誤')
# 創(chuàng)建按鈕組件,同時(shí)設(shè)置按鈕事件處理函數(shù)
buttonOk = tkinter.Button(root,
text='Login',
command=login)
buttonOk.place(x=30, y=70, width=50, height=20)
# 取消按鈕的事件處理函數(shù)
def cancel():
#清空用戶輸入的用戶名和密碼
varName.set('')
varPwd.set('')
buttonCancel = tkinter.Button(root,
text='Cancel',command=cancel)
buttonCancel.place(x=90, y=70, width=50, height=20)
#啟動(dòng)消息循環(huán)
root.mainloop()
演示結(jié)果:

總結(jié)
以上就是本文關(guān)于Python+tkinter模擬“記住我”自動(dòng)登錄實(shí)例代碼的全部?jī)?nèi)容,希望對(duì)大家有所幫助。感興趣的朋友可以繼續(xù)參閱本站其他相關(guān)專題,如有不足之處,歡迎留言指出。感謝朋友們對(duì)本站的支持!
- Python?+?Tkinter連接本地MySQL數(shù)據(jù)庫(kù)簡(jiǎn)單實(shí)現(xiàn)注冊(cè)登錄
- 基于python的Tkinter編寫登陸注冊(cè)界面
- 深入了解python的tkinter實(shí)現(xiàn)簡(jiǎn)單登錄
- Python中tkinter的用戶登錄管理的實(shí)現(xiàn)
- python tkinter制作用戶登錄界面的簡(jiǎn)單實(shí)現(xiàn)
- Python Tkinter 簡(jiǎn)單登錄界面的實(shí)現(xiàn)
- Python+Tkinter簡(jiǎn)單實(shí)現(xiàn)注冊(cè)登錄功能
相關(guān)文章
Django 自定義分頁(yè)器的實(shí)現(xiàn)代碼
這篇文章主要介紹了Django 自定義分頁(yè)器的實(shí)現(xiàn)代碼,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2019-11-11
使用Python操作Redis所有數(shù)據(jù)類型的方法
當(dāng)今互聯(lián)網(wǎng)時(shí)代,數(shù)據(jù)處理已經(jīng)成為了一個(gè)非常重要的任務(wù),而Redis作為一款高性能的NoSQL數(shù)據(jù)庫(kù),越來(lái)越受到了廣大開發(fā)者的喜愛,本篇博客將介紹如何使用Python操作Redis的所有類型,以及一些高級(jí)用法,需要的朋友可以參考下2023-11-11
python3 批量獲取對(duì)應(yīng)端口服務(wù)的實(shí)例
今天小編就為大家分享一篇python3 批量獲取對(duì)應(yīng)端口服務(wù)的實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2019-07-07
使用pyinstaller打包django的方法實(shí)現(xiàn)
本文主要介紹了使用pyinstaller打包django的方法,文中通過(guò)示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2021-09-09
PyQt5 實(shí)現(xiàn)百度圖片下載器GUI界面
本文主要介紹了通過(guò) Pyqt5 實(shí)現(xiàn)一個(gè)界面化的下載器,在通過(guò)網(wǎng)絡(luò)請(qǐng)求實(shí)現(xiàn)各種類型的圖片的下載。文中的示例代碼講解詳細(xì),感興趣的小伙伴可以了解一下2021-12-12
一篇文章帶你了解python標(biāo)準(zhǔn)庫(kù)--os模塊
在本篇內(nèi)容里小編給大家整理的是關(guān)于Python中os模塊及用法相關(guān)知識(shí)點(diǎn),有興趣的朋友們可以學(xué)習(xí)下,希望能給你帶來(lái)幫助2021-08-08
對(duì)tensorflow中的strides參數(shù)使用詳解
今天小編就為大家分享一篇對(duì)tensorflow中的strides參數(shù)使用詳解,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2020-01-01
Django原生sql也能使用Paginator分頁(yè)的示例代碼
這篇文章主要介紹了Django原生sql也能使用Paginator分頁(yè)的示例代碼,主要使用了count和__getslice__,有興趣的可以了解一下2017-11-11
pytorch 實(shí)現(xiàn)刪除tensor中的指定行列
今天小編就為大家分享一篇pytorch 實(shí)現(xiàn)刪除tensor中的指定行列,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2020-01-01

