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求导数的方法
May 09 Python
Python检测网站链接是否已存在
Apr 07 Python
详谈Python基础之内置函数和递归
Jun 21 Python
树莓派实现移动拍照
Jun 22 Python
python中的函数递归和迭代原理解析
Nov 14 Python
YUV转为jpg图像的实现
Dec 09 Python
python实现上传文件到linux指定目录的方法
Jan 03 Python
浅谈matplotlib中FigureCanvasXAgg的用法
Jun 16 Python
使用Python绘制台风轨迹图的示例代码
Sep 21 Python
python中如何打包用户自定义模块
Sep 23 Python
python 获取字典特定值对应的键的实现
Sep 29 Python
python pyhs2 的安装操作
Apr 07 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代码简化
2010/02/08 PHP
PHP笔记之:日期函数的使用介绍
2013/04/24 PHP
利用javascript查看html源文件
2006/11/08 Javascript
javascript获取当前ip的代码
2009/05/10 Javascript
浅析JavaScript基本类型与引用类型
2014/05/28 Javascript
jQuery实现复选框全选/取消全选/反选及获得选择的值
2014/06/12 Javascript
NodeJS中利用Promise来封装异步函数
2015/02/25 NodeJs
使用jQuery监听扫码枪输入并禁止手动输入的实现方法(推荐)
2017/03/21 jQuery
js字符串与Unicode编码互相转换
2017/05/17 Javascript
Vue上传组件vue Simple Uploader的用法示例
2017/08/25 Javascript
详解vue-cli 本地开发mock数据使用方法
2018/05/29 Javascript
javascript中的相等操作符(==与===区别)
2019/12/21 Javascript
Vue实现计算器计算效果
2020/08/17 Javascript
python实现数据导出到excel的示例--普通格式
2018/05/03 Python
Python 带有参数的装饰器实例代码详解
2018/12/06 Python
PyTorch中permute的用法详解
2019/12/30 Python
解决torch.autograd.backward中的参数问题
2020/01/07 Python
Python连接Mysql进行增删改查的示例代码
2020/08/03 Python
python 调用Google翻译接口的方法
2020/12/09 Python
pandas抽取行列数据的几种方法
2020/12/13 Python
Python使用Opencv实现边缘检测以及轮廓检测的实现
2020/12/31 Python
ProBikeKit澳大利亚:自行车套件,跑步和铁人三项装备
2016/11/30 全球购物
互动出版网:专业书籍
2017/03/21 全球购物
Python如何实现单例模式
2016/06/03 面试题
vue项目实现分页效果
2021/03/24 Vue.js
大四学生思想汇报
2014/01/13 职场文书
幼儿教育感言
2014/02/05 职场文书
医学生临床实习自我评价
2014/03/07 职场文书
三年级评语大全
2014/04/23 职场文书
运动会方阵口号
2014/06/07 职场文书
新学期红领巾广播稿
2014/10/04 职场文书
离职报告格式
2014/11/04 职场文书
关于观后感的作文
2015/06/18 职场文书
2019个人工作总结
2019/06/21 职场文书
正确使用MySQL update语句
2021/05/26 MySQL
vue中this.$http.post()跨域和请求参数丢失的解决
2022/04/08 Vue.js