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下函数参数的传递(参数带星号的说明)
Sep 19 Python
深入解析Python中的WSGI接口
May 11 Python
Python基于pygame实现图片代替鼠标移动效果
Nov 11 Python
pandas删除指定行详解
Apr 04 Python
Pandas 重塑(stack)和轴向旋转(pivot)的实现
Jul 22 Python
python3 下载网络图片代码实例
Aug 27 Python
python验证码图片处理(二值化)
Nov 01 Python
Python 根据数据模板创建shapefile的实现
Nov 26 Python
关于Python中定制类的比较运算实例
Dec 19 Python
Python turtle画图库&&画姓名实例
Jan 19 Python
Python3自定义http/https请求拦截mitmproxy脚本实例
May 11 Python
Django权限设置及验证方式
May 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
基于Windows下Apache PHP5.3.1安装教程
2010/01/08 PHP
PHP 开发环境配置(Zend Server安装)
2010/04/28 PHP
WampServer搭建php环境时遇到的问题汇总
2015/07/23 PHP
PHP基于单例模式编写PDO类的方法
2016/09/13 PHP
laravel中命名路由的使用方法
2017/02/24 PHP
jQuery ajax(复习)—Baidu ajax request分离版
2013/01/24 Javascript
javascript简单事件处理和with用法介绍
2013/09/16 Javascript
JS将光标聚焦在文本最后的实现代码
2014/03/28 Javascript
javascript校验价格合法性实例(必须输入2位小数)
2014/05/05 Javascript
jQuery实现鼠标滑向当前图片高亮显示并且其它图片变灰的方法
2015/07/27 Javascript
JS实现为排序好的字符串找出重复行的方法
2016/03/02 Javascript
node实现定时发送邮件的示例代码
2017/08/26 Javascript
微信小程序url与token设置详解
2017/09/26 Javascript
浅谈Angular4中常用管道
2017/09/27 Javascript
nuxt.js中间件实现拦截权限判断的方法
2018/11/21 Javascript
实现Vue的markdown文档可以在线运行的方法示例
2018/12/11 Javascript
微信小程序实现签到弹窗动画
2020/09/21 Javascript
不依任何赖第三方,单纯用vue实现Tree 树形控件的案例
2020/09/21 Javascript
uniapp实现可滑动选项卡
2020/10/21 Javascript
教你使用python画一朵花送女朋友
2018/03/29 Python
python实现excel读写数据
2021/03/02 Python
Selenium定时刷新网页的实现代码
2018/10/31 Python
pandas求两个表格不相交的集合方法
2018/12/08 Python
Python调用Windows命令打印文件
2020/02/07 Python
如何把python项目部署到linux服务器
2020/08/26 Python
各大浏览器 CSS3 和 HTML5 兼容速查表 图文
2010/04/01 HTML / CSS
小狗电器官方商城:中国高端吸尘器品牌
2017/03/29 全球购物
给排水工程师岗位职责
2013/11/21 职场文书
医疗器械售后服务承诺书
2014/05/21 职场文书
消防标语大全
2014/06/07 职场文书
我为党旗添光彩演讲稿
2014/09/13 职场文书
推荐信范文大全
2015/03/27 职场文书
大学生青年志愿者活动总结
2015/05/06 职场文书
高一作文之暖冬
2019/11/09 职场文书
Vue和Flask通信的实现
2021/05/19 Vue.js
教你用python实现12306余票查询
2021/06/30 Python