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 相关文章推荐
pycharm 使用心得(一)安装和首次使用
Jun 05 Python
Python删除windows垃圾文件的方法
Jul 14 Python
python和flask中返回JSON数据的方法
Mar 26 Python
使用实现XlsxWriter创建Excel文件并编辑
May 04 Python
python版本单链表实现代码
Sep 28 Python
使用memory_profiler监测python代码运行时内存消耗方法
Dec 03 Python
Python实现二维曲线拟合的方法
Dec 29 Python
ZABBIX3.2使用python脚本实现监控报表的方法
Jul 02 Python
python 工具 字符串转numpy浮点数组的实现
Mar 14 Python
Python 爬虫性能相关总结
Aug 03 Python
python的链表基础知识点
Sep 13 Python
python使用yaml 管理selenium元素的示例
Dec 01 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初学者头疼问题总结
2006/10/09 PHP
php生成随机字符串可指定纯数字、纯字母或者混合的
2014/04/18 PHP
PHP清除缓存的几种方法总结
2017/09/12 PHP
php实现获取近几日、月时间示例
2019/07/06 PHP
php中用unset销毁变量并释放内存
2020/05/10 PHP
JavaScript 面向对象编程(1) 基础
2010/05/18 Javascript
Javascript中获取出错代码所在文件及行数的代码
2010/09/23 Javascript
jquery结合CSS使用validate实现漂亮的验证
2015/01/29 Javascript
JavaScript实现页面5秒后自动跳转的方法
2015/04/16 Javascript
javascript作用域问题实例分析
2015/07/13 Javascript
JavaScript与HTML的结合方法详解
2015/11/23 Javascript
有关jquery与DOM节点操作方法和属性记录
2016/04/15 Javascript
浅谈基于Vue.js的移动组件库cube-ui
2017/12/20 Javascript
浅谈vuejs实现数据驱动视图原理
2018/02/23 Javascript
jQuery模拟html下拉多选框的原生实现方法示例
2019/05/30 jQuery
微信小程序与公众号实现数据互通的方法
2019/07/25 Javascript
python入门之语句(if语句、while语句、for语句)
2015/01/19 Python
Python字符串中查找子串小技巧
2015/04/10 Python
Python+OpenCV让电脑帮你玩微信跳一跳
2018/01/04 Python
pandas数据框,统计某列数据对应的个数方法
2018/04/11 Python
Python中几种属性访问的区别与用法详解
2018/10/10 Python
Python数据可视化:饼状图的实例讲解
2019/12/07 Python
解决导入django_filters不成功问题No module named 'django_filter'
2020/07/15 Python
python tkinter实现连连看游戏
2020/11/16 Python
详解pycharm的python包opencv(cv2)无代码提示问题的解决
2021/01/29 Python
澳大利亚优惠网站:Deals.com.au
2019/07/02 全球购物
什么是GWT的Entry Point
2013/08/16 面试题
Ejb技术面试题
2015/04/29 面试题
为什么要使用servlet
2016/01/17 面试题
DIY手工制作经营店创业计划书
2014/02/01 职场文书
债务追讨授权委托书范本
2014/10/16 职场文书
文案策划岗位职责
2015/02/11 职场文书
大学推普周活动总结
2015/05/07 职场文书
郭明义观后感
2015/06/08 职场文书
煤矿隐患排查制度
2015/08/05 职场文书
用position:sticky完美解决小程序吸顶问题的实现方法
2021/04/24 HTML / CSS