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解析nginx日志文件
May 11 Python
在Python 3中实现类型检查器的简单方法
Jul 03 Python
Python网络编程 Python套接字编程
Sep 13 Python
python3+PyQt5自定义视图详解
Apr 24 Python
分享一下Python数据分析常用的8款工具
Apr 29 Python
Python爬虫爬取新浪微博内容示例【基于代理IP】
Aug 03 Python
解决python通过cx_Oracle模块连接Oracle乱码的问题
Oct 18 Python
利用Python将文本中的中英文分离方法
Oct 31 Python
python区块及区块链的开发详解
Jul 03 Python
python3的print()函数的用法图文讲解
Jul 16 Python
Python如何根据时间序列数据作图
May 12 Python
python删除文件、清空目录的实现方法
Sep 23 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
如何将数据从文本导入到mysql
2006/10/09 PHP
php读取excel文件的简单实例
2013/08/26 PHP
php实现12306火车票余票查询和价格查询(12306火车票查询)
2014/01/14 PHP
php中替换字符串中的空格为逗号','的方法
2014/06/09 PHP
PHP中把对象转换为关联数组代码分享
2015/04/09 PHP
jquery获取多个checkbox的值异步提交给php的方法
2015/06/24 PHP
php打开本地exe程序,js打开本地exe应用程序,并传递相关参数方法
2018/02/06 PHP
关于 byval 与 byref 的区别分析总结
2007/10/08 Javascript
javascript 打开页面window.location和window.open的区别
2010/03/17 Javascript
基于JQuery实现CheckBox全选全不选
2011/06/27 Javascript
JS实现下拉框的动态添加(附效果)
2013/04/03 Javascript
jquery入门必备的基本认识及实例(整理)
2013/06/24 Javascript
jquery数组之存放checkbox全选值示例代码
2013/12/20 Javascript
JS+CSS简单树形菜单实现方法
2015/09/12 Javascript
使用CoffeeScrip优美方式编写javascript代码
2015/10/28 Javascript
理解JS事件循环
2016/01/07 Javascript
Node.js一行代码实现静态文件服务器的方法步骤
2019/05/07 Javascript
微信小程序中如何使用flyio封装网络请求
2019/07/03 Javascript
[09:22]2014DOTA2西雅图国际邀请赛 主赛事第二日TOPPLAY
2014/07/21 DOTA
python中使用百度音乐搜索的api下载指定歌曲的lrc歌词
2014/07/18 Python
详解Python的单元测试
2015/04/28 Python
python的debug实用工具 pdb详解
2019/07/12 Python
Python打开文件、文件读写操作、with方式、文件常用函数实例分析
2020/01/07 Python
Python是什么 Python的用处
2020/05/26 Python
HTML5 Canvas中使用路径描画二阶、三阶贝塞尔曲线
2015/01/01 HTML / CSS
丝芙兰中国官方商城:SEPHORA中国
2018/01/10 全球购物
澳洲的服装老品牌:SABA
2018/02/06 全球购物
英国的一家创新礼品和小工具零售商:Menkind
2019/08/24 全球购物
会计师事务所审计实习自我鉴定
2013/09/20 职场文书
伊索寓言教学反思
2014/05/01 职场文书
营销团队口号
2014/06/06 职场文书
反洗钱宣传活动总结
2014/08/26 职场文书
土建施工员岗位职责
2015/04/11 职场文书
2015年酒店年度工作总结
2015/05/23 职场文书
保留意见审计报告
2015/06/05 职场文书
MYSQL如何查看进程和kill进程
2022/03/13 MySQL