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程序与C++程序的联合使用
Apr 07 Python
利用Python中的输入和输出功能进行读取和写入的教程
Apr 14 Python
Python抓取百度查询结果的方法
Jul 08 Python
日常整理python执行系统命令的常见方法(全)
Oct 22 Python
Python用户推荐系统曼哈顿算法实现完整代码
Dec 01 Python
Python安装及Pycharm安装使用教程图解
Sep 20 Python
python模拟斗地主发牌
Apr 22 Python
Django设置Postgresql的操作
May 14 Python
tensorflow/core/platform/cpu_feature_guard.cc:140] Your CPU supports instructions that this T
Jun 22 Python
python 基于UDP协议套接字通信的实现
Jan 22 Python
用python监控服务器的cpu,磁盘空间,内存,超过邮件报警
Jan 29 Python
openstack中的rpc远程调用的方法
Jul 09 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
对盗链说再见...
2006/10/09 PHP
PHP取得一个类的属性和方法的实现代码
2011/05/22 PHP
php视频拍照上传头像功能实现代码分享
2015/10/08 PHP
yii权限控制的方法(三种方法)
2015/12/28 PHP
php版微信开发之接收消息,自动判断及回复相应消息的方法
2016/09/23 PHP
php 输出json及显示json中的中文汉字详解及实例
2016/11/09 PHP
基于PHP的加载类操作以及其他两种魔术方法的应用实例
2017/08/28 PHP
如何通过View::first使用Laravel Blade的动态模板详解
2017/09/21 PHP
基于jquery的direction图片渐变动画效果
2010/05/24 Javascript
jquery.bgiframe.js在IE9下提示INVALID_CHARACTER_ERR错误
2013/01/11 Javascript
Js制作点击输入框时默认文字消失的效果
2015/09/05 Javascript
JS实现消息来时让网页标题闪动效果的方法
2016/04/20 Javascript
基于JavaScript FileReader上传图片显示本地链接
2016/05/27 Javascript
修改npm全局安装模式的路径方法
2018/05/15 Javascript
jquery.pager.js分页实现详解
2019/07/29 jQuery
python网络编程学习笔记(七):HTML和XHTML解析(HTMLParser、BeautifulSoup)
2014/06/09 Python
Python3中的列表,元组,字典,字符串相关知识小结
2017/11/10 Python
Python实战小程序利用matplotlib模块画图代码分享
2017/12/09 Python
python range()函数取反序遍历sequence的方法
2018/06/25 Python
详解Python 函数如何重载?
2019/04/23 Python
django实现类似触发器的功能
2019/11/15 Python
python爬取音频下载的示例代码
2020/10/19 Python
中专毕业生个人职业生涯规划
2014/02/19 职场文书
《唯一的听众》教学反思
2014/02/20 职场文书
2014年党务公开方案
2014/05/08 职场文书
公务员诚信承诺书
2014/05/26 职场文书
小学学习雷锋活动总结
2014/07/03 职场文书
店铺转让协议书
2015/01/29 职场文书
医学生自荐信范文
2015/03/05 职场文书
幼儿园教师工作总结2015
2015/04/02 职场文书
同意报考公务员证明
2015/06/17 职场文书
详解MySQL主从复制及读写分离
2021/05/07 MySQL
Python中使用subprocess库创建附加进程
2021/05/11 Python
Python selenium的这三种等待方式一定要会!
2021/06/10 Python
千万级用户系统SQL调优实战分享
2022/03/03 MySQL
Win10服务主机占用内存怎么办?Win10服务主机进程占用大量内存解决方法
2022/09/23 数码科技