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爬虫之爬虫框架Scrapy安装配置
Nov 06 Python
Python对列表排序的方法实例分析
May 16 Python
Python编程实战之Oracle数据库操作示例
Jun 21 Python
分享6个隐藏的python功能
Dec 07 Python
Ubuntu下使用python读取doc和docx文档的内容方法
May 08 Python
python 3.7.4 安装 opencv的教程
Oct 10 Python
Python List列表对象内置方法实例详解
Oct 22 Python
Tensorflow 多线程设置方式
Feb 06 Python
python手机号前7位归属地爬虫代码实例
Mar 31 Python
Python reduce函数作用及实例解析
May 08 Python
pyecharts调整图例与各板块的位置间距实例
May 16 Python
利用python查看数组中的所有元素是否相同
Jan 08 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
DISCUZ 分页代码
2007/01/02 PHP
整理php防注入和XSS攻击通用过滤
2015/09/13 PHP
PHP使用GD库制作验证码的方法(点击验证码或看不清会刷新验证码)
2017/08/15 PHP
Javascript面向对象之四 继承
2011/02/08 Javascript
jQuery表格列宽可拖拽改变且兼容firfox
2014/09/03 Javascript
javascript检测是否联网的实现代码
2014/09/28 Javascript
node.js操作mongoDB数据库示例分享
2014/11/26 Javascript
jquery单击事件和双击事件冲突解决方案
2016/03/02 Javascript
bootstrap组件之导航组件使用方法
2017/01/19 Javascript
JS排序之快速排序详解
2017/04/08 Javascript
详解angularJS自定义指令间的相互交互
2017/07/05 Javascript
bootstrap table表格客户端分页实例
2017/08/07 Javascript
vue实现选项卡及选项卡切换效果
2018/04/24 Javascript
JavaScript去掉数组重复项的方法分析【测试可用】
2018/07/19 Javascript
vue项目环境变量配置的实现方法
2018/10/12 Javascript
Nodejs模块的调用操作实例分析
2018/12/25 NodeJs
详解Vue项目中实现锚点定位
2019/04/24 Javascript
基于aotu.js实现微信自动添加通讯录中的联系人功能
2020/05/28 Javascript
Python中条件判断语句的简单使用方法
2015/08/21 Python
对numpy 数组和矩阵的乘法的进一步理解
2018/04/04 Python
python循环输出三角形图案的例子
2019/11/22 Python
python 画函数曲线示例
2019/12/04 Python
快速解决jupyter启动卡死的问题
2020/04/10 Python
python利用platform模块获取系统信息
2020/10/09 Python
师范应届生求职信
2013/11/15 职场文书
高二历史教学反思
2014/01/25 职场文书
初中校园广播稿
2014/02/02 职场文书
中班开学寄语
2014/04/04 职场文书
高三霸气励志标语
2014/06/24 职场文书
森林防火宣传标语
2014/06/27 职场文书
员工安全责任书范本
2014/07/24 职场文书
典型事迹材料范文
2014/12/29 职场文书
六一儿童节开幕词
2015/01/29 职场文书
停水通知
2015/04/16 职场文书
毕业证明模板
2015/06/19 职场文书
jQuery ajax - getScript() 方法和getJSON方法
2021/05/14 jQuery