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 Trie树实现字典排序
Mar 28 Python
Python入门_浅谈数据结构的4种基本类型
May 16 Python
python Flask实现restful api service
Dec 04 Python
Python字典数据对象拆分的简单实现方法
Dec 05 Python
Python tkinter实现的图片移动碰撞动画效果【附源码下载】
Jan 04 Python
Python及Django框架生成二维码的方法分析
Jan 31 Python
解决python3爬虫无法显示中文的问题
Apr 12 Python
Python2.7 实现引入自己写的类方法
Apr 29 Python
Python实现手写一个类似django的web框架示例
Jul 20 Python
Python实现查找二叉搜索树第k大的节点功能示例
Jan 24 Python
pytorch 预训练层的使用方法
Aug 20 Python
python实现b站直播自动发送弹幕功能
Feb 20 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 smarty模版引擎中的缓存应用
2009/12/02 PHP
thinkphp模板用法和内容输出实例
2014/11/28 PHP
PHP ajax+jQuery 实现批量删除功能实例代码小结
2018/12/06 PHP
学习YUI.Ext 第二天
2007/03/10 Javascript
javascript引用对象的方法代码
2007/08/13 Javascript
Mootools 1.2教程(21)——类(二)
2009/09/15 Javascript
Pro JavaScript Techniques学习笔记
2010/12/28 Javascript
node.js中的fs.chmodSync方法使用说明
2014/12/18 Javascript
详解JavaScript中的表单验证
2015/06/16 Javascript
jQuery.prop() 使用详解
2015/07/19 Javascript
vue cli使用绝对路径引用图片问题的解决
2017/12/06 Javascript
细说webpack源码之compile流程-rules参数处理技巧(1)
2017/12/26 Javascript
使用node打造自己的命令行工具方法教程
2018/03/26 Javascript
详解JavaScript中操作符和表达式
2018/09/12 Javascript
代码整洁之道(重构)
2018/10/25 Javascript
用Vue.js在浏览器中实现裁剪图像功能
2019/06/18 Javascript
通过微信公众平台获取公众号文章的方法示例
2019/12/25 Javascript
[52:36]VGJ.S vs Serenity 2018国际邀请赛小组赛BO2 第一场 8.19
2018/08/21 DOTA
Python中os.path用法分析
2015/01/15 Python
Python中一些自然语言工具的使用的入门教程
2015/04/13 Python
python中的随机函数小结
2018/01/27 Python
django 开发忘记密码通过邮箱找回功能示例
2018/04/17 Python
python机器学习之神经网络实现
2018/10/13 Python
python实现任意位置文件分割的实例
2018/12/14 Python
浅谈Pycharm中的Python Console与Terminal
2019/01/17 Python
Django 源码WSGI剖析过程详解
2019/08/05 Python
pandas 选取行和列数据的方法详解
2019/08/08 Python
Python Des加密解密如何实现软件注册码机器码
2020/01/08 Python
Matplotlib中%matplotlib inline如何使用
2020/07/28 Python
python中的unittest框架实例详解
2021/02/05 Python
加拿大知名的国际儿童品牌:Hatley
2016/11/09 全球购物
Radley英国官网:英国莱德利小狗包
2019/03/21 全球购物
道歉的话怎么说
2015/05/12 职场文书
拔河比赛队名及霸气口号
2015/12/24 职场文书
分享:关于学习的励志名言赏析
2019/08/16 职场文书
世界十大评分最高的动漫,CLANNAD上榜,第八赚足人们眼泪
2022/03/18 日漫