思路

输入账号:admin 密码:123456
点击登入这会弹窗提示登录成功

如果登录的时候选择了Remember me?
则会在该工作目录下创建一个info.txt
并把用户的账号和密码保存在该文件中
默认情况下是选择了Remember me? 这个选项的
在下次登入的时候,程序会先去判断该工作目录是否有info.txt这个文件
有的话,会把账号和密码显示在输入的文本框中,如果没有的话,则不会显示

代码实现

import tkinter
import tkinter.messagebox
import os
import os.path# 获取当前工作目录
path = os.getcwd()
# 连接两个path
filename = os.path.join(path, 'info.txt')# 创建应用程序
root = tkinter.Tk()
# 设置窗口的标题
root.title('用户登录界面')
# 设置窗口大小
root['height'] = 300
root['width'] = 600# 在窗口上创建标签组件(User Name)
# 各个参数的解释:       text设置文本内容    fg='设置字体颜色'    bg='设置字体背景'    font=("设置字体",设置字体大小)    justify=文本标签对齐的方式    anchor='文本对其方式', width=设置的宽度
labeName = tkinter.Label(root, text='User Name:',fg='yellow',bg='purple',font=("微软雅黑",16), justify=tkinter.RIGHT, anchor='e', width=80)
# 显示该组件的位置及大小
labeName.place(x=150, y=50, width=125, height=25)# 创建字符串变量和文本框组件,同时设置关联的变量
varName = tkinter.StringVar(root, value='')
entryName = tkinter.Entry(root, width=80, textvariable=varName)
entryName.place(x=290, y=50, width=180, height=25)# 在窗口上创建标签组件(User Pwd)
labeName = tkinter.Label(root, text='User Pwd:',fg='yellow',bg='purple',font=("微软雅黑",16), justify=tkinter.RIGHT, anchor='e', width=80)
# 显示该组件的位置及大小
labeName.place(x=150, y=90, width=125, height=25)# 创建密码文本框,同时设置关联的变量
varPwd = tkinter.StringVar(root, value='')
entryPwd = tkinter.Entry(root, show='*', width=80, textvariable=varPwd)
entryPwd.place(x=290, y=90, width=180, height=25)# 尝试自动填写用户名和密码
try:with open(filename) as fp:n, p = fp.read().strip().split(',')varName.set(n)varPwd.set(p)
except:pass# 记住我,复选框
rememberMe = tkinter.IntVar(root, value=1)
# 选中时变量值为1,未选中时变量值为0,默认选中
checkRemember = tkinter.Checkbutton(root, text='Remember me?',font=("微软雅黑",14), variable=rememberMe, onvalue=1, offvalue=0)
checkRemember.place(x=150, y=130, width=200, height=25)# 登录按钮事件处理函数
def login():# 获取用户名和密码name = entryName.get()pwd = entryPwd.get()if name=='admin' and pwd=='123456':tkinter.messagebox.showinfo(title='恭喜', message='登录成功!')if rememberMe.get() == 1:# 把登录成功的信息写入临时文件with open(filename, 'w') as fp:fp.write(','.join((name,pwd)))else:try:os.remove(filename)except:passelse:tkinter.messagebox.showerror('警告', message='用户名或密码错误')# 创建按钮组件,同时设置按钮事件处理函数
# 参数解释:  text='Login'文本内容      activeforeground='#ff0000'按下按钮时文字颜色     command=login关联的函数
buttonOk = tkinter.Button(root, text='Login', activeforeground='#ff0000', command=login)
buttonOk.place(x=160, y=175, width=80, height=25)# 取消按钮的事件处理函数
def cancel():#清空用户输入的用户名和密码varName.set('')varPwd.set('')buttonCancel = tkinter.Button(root, text='Cancel', command=cancel)
buttonCancel.place(x=360, y=175, width=80, height=25)# 启动消息循环
root.mainloop()

实现效果

Python tkinter用户登录界面相关推荐

  1. python练习—用户登录界面输入验证码测试

    用户登录界面输入验证码测试--Python import random s="qwertyuiopasdfghjklzxcvbnmQWERTYUIOPASDFGHJKLZXCVBNM1234 ...

  2. python编辑用户登录界面_python编辑用户登入界面的实现代码

    1.需求分析 登入界面需要达到以下要求: 系统要有登入和注册两个选项可供选择 系统要能够实现登入出错提示,比如账户密码错误等,用户信息保存在user_info.txt文件夹中 系统要能够进行登入错误次 ...

  3. 界面开发(3)--- PyQt5用户登录界面连接数据库

    文章目录 数据库 账户注册 账号登录 找回密码 为了实现用户登录界面的登录功能,我们必须建立一个数据库,并把账号和对应的密码,存储到数据库中.如果输入的账号和密码与数据库中的一致,那我们就允许用户登录 ...

  4. Bootstrap4+MySQL前后端综合实训-Day06-AM【eclipse详细配置Tomcat、开发web项目、servlet、连接MySQL8.0数据库、用户登录界面的编写与验证、分页查询】

    [Bootstrap4前端框架+MySQL数据库]前后端综合实训[10天课程 博客汇总表 详细笔记][附:实训所有代码] 目   录 eclipse重置视图 MySQL数据库--建数据库.建数据库 s ...

  5. 用户登录界面 - 记事本风格HTML代码

    简介: 这是一个记事本风格的用户登录界面,非常逼真,HTML 代码已经改成了中文的,经过测试,兼容 IE6+.Firefox.Chrome 等浏览器. 优化了自适应问题. 喜欢的可以下载. 从dowe ...

  6. php简单的登录界面,PHP实现简单用户登录界面

    用PHP实现简单的用户登录界面,供大家参考,具体内容如下 首先要实现用户登录界面需要一个html登录表单 用户名: 密码: 重复密码: 然后开始按照流程图写PHP代码 if(trim($_POST[' ...

  7. android studio 微信登录界面,如何使用Android Studio开发用户登录界面

    满意答案 zhou9081 2016.05.21 采纳率:51%    等级:7 已帮助:411人 如何使用Android Studio开发用户登录界面,具体解决方案如下: 解决方案1: <:t ...

  8. 用Java实现用户登录界面

    基本步骤 1.创建一个窗体 2.给按钮加上监听 3.获取界面输入框中的值给监听 4.存储用户信息 5.实现登录注册逻辑 1.创建一个窗体 public void LE(){JFrame jf=new ...

  9. [bat] cmd命令进入用户登录界面和屏幕保护程序

    [bat] cmd命令进入用户登录界面和屏幕保护程序 cmd命令进入用户登录界面 rundll32.exe user32.dll,LockWorkStation cmd命令进入屏幕保护程序 C:\Wi ...

最新文章

  1. iOS base64 MD5
  2. 如何为 Python 添加远程调试能力而不修改系统代码
  3. ThreadPoolExecutor源码解析(二)
  4. 每日一笑 | 程序员和产品经理打架了,怎么办?
  5. oracle insert 当前时间_Oracle知识点总结
  6. 计算机拼图形 比创意教案,拼图形比创意教学设计.doc
  7. linux系统关于mysql的命令_[操作系统]Linux 操作MySql命令
  8. 蓝桥杯2018年第九届C/C++省赛B组第七题-螺旋折线
  9. 如何编写开源项目的 README 文档
  10. react中创建组件的三种方法
  11. 各 Delphi 历史版本下载合集
  12. 许三多和他的基金定投
  13. Unity笔记之UGUI Text首行缩进、改变文本颜色、文本间距调节
  14. 英语语法(简单句型篇)
  15. 电脑合上盖子不锁屏_win10笔记本合上盖子不锁屏
  16. 《翻转课堂教学法》实施情况调查结果
  17. Hexo+GithubPage搭建Fan主题的博客(2)本地初始化Hexo博客项目
  18. 008 解决问题的策略 转化(苏教版 五下)
  19. 银行卡归属地查询免费API
  20. 迅雷自动生成的vod_cache_data处理方法

热门文章

  1. json格式数据下载为excel方法,其中数字格式下载后排序正常
  2. 行业追踪,2023-07-04,受特斯拉中报影响,汽车零部件放量强势拉升,不调整
  3. swing java_Java Swing 介绍
  4. 北航计算机学院2017年博导,北航机械工程及自动化学院2017博士生导师:乔立红...
  5. 开源的Remoting框架:Cinnamon
  6. jenkins Build periodically 参数配置
  7. html车牌输入框,车牌号码输入框——Label的inputView
  8. 调和级数python实现
  9. 【转】3-4岁幼儿生理心理发展特点
  10. jieba分词paddle模式性能测试