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 18 Python
分享一下Python 开发者节省时间的10个方法
Oct 02 Python
Python Numpy 数组的初始化和基本操作
Mar 13 Python
Sanic框架Cookies操作示例
Jul 17 Python
Python实现多线程的两种方式分析
Aug 29 Python
pandas DataFrame行或列的删除方法的实现示例
Aug 02 Python
python3获取url文件大小示例代码
Sep 18 Python
Python3直接爬取图片URL并保存示例
Dec 18 Python
利用 PyCharm 实现本地代码和远端的实时同步功能
Mar 23 Python
python3.6使用SMTP协议发送邮件
May 20 Python
opencv之颜色过滤只留下图片中的红色区域操作
Jun 05 Python
python3实现简单飞机大战
Nov 29 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
自制短波长线天线频率预选器 - 成功消除B2K之流的镜像
2021/03/02 无线电
PHP个人网站架设连环讲(一)
2006/10/09 PHP
thinkphp中的url跳转用法分析
2016/07/12 PHP
老生常谈PHP面向对象之解释器模式
2017/05/17 PHP
日期 时间js控件
2009/05/07 Javascript
在多个页面使用同一个HTML片段《续》
2011/03/04 Javascript
js代码实现的加入收藏效果并兼容主流浏览器
2014/06/23 Javascript
jquery选择器需要注意的问题
2014/11/26 Javascript
基于jQuery实现网页进度显示插件
2015/03/04 Javascript
js兼容火狐获取图片宽和高的方法
2015/05/21 Javascript
JavaScript的代码编写格式规范指南
2015/12/07 Javascript
javascript中select下拉框的用法总结
2016/01/07 Javascript
理解js对象继承的N种模式
2016/01/25 Javascript
关于Sequelize连接查询时inlude中model和association的区别详解
2017/02/27 Javascript
Vue 实现树形视图数据功能
2018/05/07 Javascript
vue项目引入Iconfont图标库的教程图解
2018/10/24 Javascript
JavaScript类型相关的常用操作总结
2019/02/14 Javascript
Vue CLI3.0中使用jQuery和Bootstrap的方法
2019/02/28 jQuery
[56:24]DOTA2上海特级锦标赛主赛事日 - 3 胜者组第二轮#1Liquid VS MVP.Phx第二局
2016/03/04 DOTA
python版本坑:md5例子(python2与python3中md5区别)
2017/06/20 Python
Python实现简易Web爬虫详解
2018/01/03 Python
django2用iframe标签完成网页内嵌播放b站视频功能
2018/06/20 Python
Python将一个CSV文件里的数据追加到另一个CSV文件的方法
2018/07/04 Python
python 给图像添加透明度(alpha通道)
2020/04/09 Python
Python 没有main函数的原因
2020/07/10 Python
python3字符串输出常见面试题总结
2020/12/01 Python
健康监测猫砂:Pretty Litter
2017/05/25 全球购物
医学生自荐信
2013/12/03 职场文书
秦兵马俑教学反思
2014/02/07 职场文书
倡议书格式范文
2014/04/14 职场文书
伦敦奥运会的口号
2014/06/21 职场文书
大三学生学年自我鉴定
2014/09/12 职场文书
学校总务处领导班子民主生活会对照检查材料思想汇报
2014/09/27 职场文书
详解Python牛顿插值法
2021/05/11 Python
python基础之文件处理知识总结
2021/05/23 Python
在Windows Server 2012上安装 .NET Framework 3.5 所遇到的问题
2022/04/29 Servers