Python+tkinter模拟“记住我”自动登录实例代码


Posted in Python onJanuary 16, 2018

本文分享的代码主要是通过Python+tkinter模拟“记住我”自动登录的功能,具体介绍如下。

基本思路:如果某次登录成功,则创建临时文件记录有关信息,每次启动程序时尝试自动获取上次登录成功的信息并自动编写。本文主要演示思路,可根据实际系统中的需要进行改写,例如读取数据库并验证用户名和密码是否正确、对用户名和密码进行本地加密存储等等。

import tkinter
import tkinter.messagebox
import os
import os.path
# 获取Windows平台临时文件夹
path = os.getenv('temp')
filename = os.path.join(path, 'info.txt')
# 创建应用程序窗口
root = tkinter.Tk()
# 在窗口上创建标签组件
labelName = tkinter.Label(root,text='User Name:',justify=tkinter.RIGHT,width=80)
labelName.place(x=10, y=5, width=80, height=20)
# 创建字符串变量和文本框组件,同时设置关联的变量
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)
# 创建密码文本框
varPwd = tkinter.StringVar(root, value='')
entryPwd = tkinter.Entry(root,show='*',width=80,textvariable=varPwd)
entryPwd.place(x=100, y=30, width=80, height=20)
# 尝试自动填写用户名和密码
try:
  with open(filename) as fp:
    n, p = fp.read().strip().split(',')
    varName.set(n)
    varPwd.set(p)
except:
  pass
# 登录按钮事件处理函数
def login():
  # 获取用户名和密码
  name = entryName.get()
  pwd = entryPwd.get()
  if name=='admin'and pwd=='123456':
    tkinter.messagebox.showinfo(title='恭喜',message='登录成功!')
    # 把登录成功的信息写入临时文件
    with open(filename, 'w') as fp:
      fp.write(','.join((name,pwd)))
  else:
    tkinter.messagebox.showerror('警告',message='用户名或密码错误')
    # 创建按钮组件,同时设置按钮事件处理函数
    buttonOk = tkinter.Button(root,
    text='Login',
    command=login)
    buttonOk.place(x=30, y=70, width=50, height=20)

# 取消按钮的事件处理函数
def cancel():
#清空用户输入的用户名和密码
  varName.set('')
  varPwd.set('')
  buttonCancel = tkinter.Button(root,
  text='Cancel',command=cancel)
  buttonCancel.place(x=90, y=70, width=50, height=20)
  #启动消息循环
root.mainloop()

演示结果:

Python+tkinter模拟“记住我”自动登录实例代码

总结

以上就是本文关于Python+tkinter模拟“记住我”自动登录实例代码的全部内容,希望对大家有所帮助。感兴趣的朋友可以继续参阅本站其他相关专题,如有不足之处,欢迎留言指出。感谢朋友们对本站的支持!

Python 相关文章推荐
Python写的一个简单DNS服务器实例
Jun 04 Python
Python的Socket编程过程中实现UDP端口复用的实例分享
Mar 19 Python
轻松掌握python设计模式之策略模式
Nov 18 Python
Python内置函数—vars的具体使用方法
Dec 04 Python
Flask框架WTForm表单用法示例
Jul 20 Python
Python button选取本地图片并显示的实例
Jun 13 Python
Python笔试面试题小结
Sep 07 Python
Python如何计算语句执行时间
Nov 22 Python
浅谈PyQt5中异步刷新UI和Python多线程总结
Dec 13 Python
python在不同条件下的输入与输出
Feb 13 Python
Python如何使用logging为Flask增加logid
Mar 30 Python
利用python做表格数据处理
Apr 13 Python
Python利用字典将两个通讯录文本合并为一个文本实例
Jan 16 #Python
Python爬虫爬取一个网页上的图片地址实例代码
Jan 16 #Python
Python+Turtle动态绘制一棵树实例分享
Jan 16 #Python
Python实现七彩蟒蛇绘制实例代码
Jan 16 #Python
答题辅助python代码实现
Jan 16 #Python
python实现百万答题自动百度搜索答案
Jan 16 #Python
Python数据结构之双向链表的定义与使用方法示例
Jan 16 #Python
You might like
php Smarty初体验二 获取配置信息
2011/08/08 PHP
php数组函数序列之array_unique() - 去除数组中重复的元素值
2011/10/29 PHP
组合算法的PHP解答方法
2012/02/04 PHP
PHP中可以自动分割查询字符的Parse_str函数使用示例
2014/07/25 PHP
Sublime里直接运行PHP配置方法
2014/11/28 PHP
php浏览历史记录的方法
2015/03/10 PHP
举例详解PHP脚本的测试方法
2015/08/05 PHP
phpStorm+XDebug+chrome 配置详解
2019/04/01 PHP
PHP实现的抓取小说网站内容功能示例
2019/06/27 PHP
限制文本字节数js代码
2007/03/06 Javascript
javascript 自动转到命名锚记
2009/01/10 Javascript
6款新颖的jQuery和CSS3进度条插件推荐
2013/03/05 Javascript
JS实现金额转换(将输入的阿拉伯数字)转换成中文的实现代码
2013/09/30 Javascript
基于jQuery实现动态数字展示效果
2015/08/12 Javascript
js解决movebox移动问题
2016/03/29 Javascript
jQuery实现区域打印功能代码详解
2016/06/17 Javascript
用jQuery的AJax实现异步访问、异步加载
2016/11/02 Javascript
JavaScript验证知识整理
2017/03/24 Javascript
利用Node.js批量抓取高清妹子图片实例教程
2018/08/02 Javascript
nodejs之koa2请求示例(GET,POST)
2018/08/07 NodeJs
[01:03:50]DOTA2-DPC中国联赛 正赛 CDEC vs DLG BO3 第二场 2月7日
2021/03/11 DOTA
[50:38]DOTA2-DPC中国联赛 正赛 Phoenix vs CDEC BO3 第二场 3月7日
2021/03/11 DOTA
Python字符串、元组、列表、字典互相转换的方法
2016/01/23 Python
Python算术运算符实例详解
2017/05/31 Python
python中从str中提取元素到list以及将list转换为str的方法
2018/06/26 Python
Python wxPython库Core组件BoxSizer用法示例
2018/09/03 Python
python框架django项目部署相关知识详解
2019/11/04 Python
基于YUV 数据格式详解及python实现方式
2019/12/09 Python
matplotlib更改窗口图标的方法示例
2021/02/03 Python
基于canvas使用贝塞尔曲线平滑拟合折线段的方法
2018/01/10 HTML / CSS
美国婴儿和儿童服装购物网站:PatPat
2020/10/01 全球购物
科学发展观标语
2014/10/08 职场文书
农村党建工作汇报材料
2014/10/27 职场文书
刑事案件上诉状
2015/05/23 职场文书
SpringCloud的JPA连接PostgreSql的教程
2021/06/26 Java/Android
Python os和os.path模块详情
2022/04/02 Python