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 相关文章推荐
DJANGO-ALLAUTH社交用户系统的安装配置
Nov 18 Python
Python实现数据库并行读取和写入实例
Jun 09 Python
vue.js实现输入框输入值内容实时响应变化示例
Jul 07 Python
django表单的Widgets使用详解
Jul 22 Python
使用Python生成200个激活码的实现方法
Nov 22 Python
pycharm运行程序时看不到任何结果显示的解决
Feb 21 Python
Python paramiko 模块浅谈与SSH主要功能模拟解析
Feb 29 Python
Django的ListView超详细用法(含分页paginate)
May 21 Python
python中watchdog文件监控与检测上传功能
Oct 30 Python
Sentry错误日志监控使用方法解析
Nov 12 Python
Opencv python 图片生成视频的方法示例
Nov 18 Python
Python 数据可视化之Seaborn详解
Nov 02 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
yii2缓存Caching基本用法示例
2016/07/18 PHP
Laravel框架实现修改登录和注册接口数据返回格式的方法
2018/08/17 PHP
PHP集成环境XAMPP的安装与配置
2018/11/13 PHP
关于Yii2框架跑脚本时内存泄漏问题的分析与解决
2019/12/01 PHP
PHP const定义常量及global定义全局常量实例解析
2020/05/28 PHP
js动态添加表格数据使用insertRow和insertCell实现
2014/05/22 Javascript
jQuery中mouseover事件用法实例
2014/12/26 Javascript
详解JavaScript中shift()方法的使用
2015/06/09 Javascript
javascript实现禁止鼠标滚轮事件
2015/07/24 Javascript
Javascript 动态改变imput type属性
2016/11/01 Javascript
微信小程序 欢迎界面开发的实例详解
2016/11/30 Javascript
AngularJS全局警告框实现方法示例
2017/05/18 Javascript
react-native 封装选择弹出框示例(试用ios&android)
2017/07/11 Javascript
bootstrap fileinput插件实现预览上传照片功能
2018/01/23 Javascript
WebPack配置vue多页面的技巧
2018/05/15 Javascript
React学习笔记之高阶组件应用
2018/06/02 Javascript
原生JS实现汇率转换功能代码实例
2020/05/13 Javascript
Element MessageBox弹框的具体使用
2020/07/27 Javascript
[38:30]2014 DOTA2国际邀请赛中国区预选赛 LGD-GAMING VS CIS 第一场2
2014/05/24 DOTA
Django教程笔记之中间件middleware详解
2018/08/01 Python
Python数据处理篇之Sympy系列(五)---解方程
2019/10/12 Python
复化梯形求积分实例——用Python进行数值计算
2019/11/20 Python
OpenCV中VideoCapture类的使用详解
2020/02/14 Python
Python+Selenium实现自动化的环境搭建的步骤(图文)
2020/09/01 Python
web字体加载方案优化小结
2019/11/29 HTML / CSS
COSETTE官网:奢华,每天
2020/03/22 全球购物
JSP&Servlet技术面试题
2015/05/21 面试题
计算机网络专业推荐信
2013/11/24 职场文书
高中同学聚会邀请函
2014/01/11 职场文书
校园之声广播稿
2014/01/31 职场文书
2014年学校财务工作总结
2014/12/06 职场文书
2015年体育教师个人工作总结
2015/05/12 职场文书
理解python中装饰器的作用
2021/07/21 Python
JavaScript分页组件使用方法详解
2021/07/26 Javascript
SQL Server实现分页方法介绍
2022/03/16 SQL Server
Python+Selenium实现抖音、快手、B站、小红书、微视、百度好看视频、西瓜视频、微信视频号、搜狐视频、一点号、大风号、趣头条等短视频自动发布
2022/04/13 Python