首页 > 其他分享 >一个简单的登录界面demo

一个简单的登录界面demo

时间:2024-10-23 15:47:05浏览次数:3  
标签:界面 登录 passwd demo self ttk master fill pack

代码基于ttkbootstrap 



from tkinter import *
import ttkbootstrap as ttk
from tkinter import messagebox

class TextView(ttk.Frame):
    def __init__(self,master):
        super().__init__(master,padding=30)
        self.pack(fill=BOTH,expand=YES)
        self.master = master
        self.user = ttk.StringVar()
        self.passwd = ttk.StringVar()
        self.createEntry()
        self.createbutton()
        self.master.bind("<Return>",self.on_login)


    def createEntry(self):
        entryFrame = ttk.Frame(master=self,padding=10)
        entryFrame.pack(fill=BOTH)

        userlable = ttk.Label(
            master=entryFrame,
            text="用户名"
        )
        userlable.pack(side=LEFT)
        self.userentry = ttk.Entry(
            master=entryFrame,
            textvariable=self.user,
            bootstyle="light"
        )
        self.userentry.pack(
            fill=X,
            side=RIGHT,
            expand=YES,
            padx=(50,50)
        )

        entryFrame = ttk.Frame(master=self,padding=10)
        entryFrame.pack(fill=BOTH)
        passlable = ttk.Label(master=entryFrame, text="密码",)
        passlable.pack(fill=X,side=LEFT)
        self.passentry = ttk.Entry(
            master=entryFrame,
            textvariable=self.passwd,
            bootstyle="light",
            show="*"
        )
        self.passentry.pack(
            fill=X,
            side=RIGHT,
            expand=YES,
            padx=(73,50)
        )

    def createbutton(self):
        buttonFrame = ttk.Frame(master=self)
        buttonFrame.pack(
            fill=BOTH,
            padx=(133,60),
            pady=(20,0)
        )
        button = ttk.Button(
            master=buttonFrame,
            text="登录",
            style="success",
            command=self.on_login
        )
        button.pack(fill=X,side=LEFT,expand=YES)
        button = ttk.Button(
            master=buttonFrame,
            text="注册",
            style="light"
        )
        button.pack(fill=X,side=LEFT,expand=YES)


    def on_login(self, *args):
        username = self.user.get().replace(" ","")
        passwd   = self.passwd.get().replace(" ","")
        if args:
            event, *other = args
            print(event.keycode)
        if not username:
            self.userentry.configure(bootstyle="danger")
        if not passwd:
            self.passentry.configure(bootstyle="danger")
        print(username,passwd)
        login_state = self._check_userandpasswd(username,passwd)
        if login_state:
            self.destroy()
        else:
            messagebox.showinfo(
                message="账号或密码错误,请重试 \n",
                title="Error",
            )

    def _check_userandpasswd(self,username,passwd):
        """
        检查账号密码是否正确的函数
        :param username:
        :param passwd:
        :return: bool
        """
        return False

if __name__ == '__main__':
    app = ttk.Window(
        title="登录页面Demo -- Powered by Jackma",
        minsize=(800,300),
        themename="darkly"
    )
    TextView(app)
    app.place_window_center()

    app.mainloop()

如果发生PIL报错请安装 pillow==9.5.0

标签:界面,登录,passwd,demo,self,ttk,master,fill,pack
From: https://blog.csdn.net/benetqq/article/details/143186306

相关文章

  • pbootcms后台登录验证码看不清的解决办法
    原因分析PHP版本过低:pbootcms后台登录验证码可能因为使用的PHP版本太低而不被支持,导致显示问题。解决办法升级PHP版本:新版pbootcms已经不再支持PHP7.0以下的版本,建议将PHP版本升级到7.0或更高。可以通过服务器控制面板(如cPanel、Plesk等)进行PHP版本的切换。如果是自......
  • Springboot车辆充电桩管理系统的设计与实现mv56d(程序+源码+数据库+调试部署+开发环境)
    系统程序文件列表项目功能:用户,员工,电桩类别,充电桩,报修信息,报修处理开题报告内容Springboot车辆充电桩管理系统的设计与实现开题报告一、研究背景与意义随着电动汽车的快速发展和普及,充电桩作为电动汽车的重要配套设施,其数量和管理效率直接影响到电动汽车的推广和使......
  • Springboot车辆充电桩3l3fa(程序+源码+数据库+调试部署+开发环境)系统界面在最后面。
    系统程序文件列表项目功能:用户,电桩类别,充电桩,充电桩报修,维修员,维修回复开题报告内容Springboot车辆充电桩管理系统开题报告一、研究背景随着电动汽车的普及和推广,充电桩作为电动汽车的主要充电设备,在城市中得到了广泛的应用。然而,目前存在着充电桩数量不足、充电速......
  • 海波龙系统自定义登录界面
    以下方法可以自定义登录页面,以添加所有权声明。这使公司能够在用户登录到OracleHyperionEnterprisePerformanceManagementWorkspace时,向其宣传所有权声明。所有权声明信息将显示在版权信息下方。要自定义登录页面:1、停止所有服务。2、备份EPM_ORACLE_HOME/common/bpmu......
  • 魔音音乐 5.0.1 | 界面优美,可无损下载,可播放
    魔音Morin是一款免费下载付费音乐和免费播放音乐的软件。现在听歌都需要付费,不想付费听音乐就来魔音Morin,完全免费的音乐资源非常丰富,可同步四大音乐平台歌单,还有各类音乐榜单,自带音乐社、同步歌单以及搜索音乐功能。大小:36M百度网盘:https://pan.baidu.com/s/1BKoGaDeKj......
  • SpringBoot 单元测试 - 登录认证在 Spring Boot 上的标准单元测试写法。
    ......
  • 全网免费API-免注册登录
    前言所有的链接都不需要注册登录,点开即用标题:狗图描述:想要别人的狗吗?DogAPI-Theinternet'sbiggestcollectionofopensourcedogpictures.Fetchingyouover20,000dogimagesaccessiblebyover120breeds.链接:https://dog.ceo/dog-api/------------------......
  • uniapp实现微信小程序一键登录
    前言实现微信一键登录的流程:①微信小程序端获取临时凭证code(code只能被消费一次)②将code交给后端③后端拿到code,向微信服务器发起请求,拿到openid(openid代表微信用户在一个小程序中的唯一标识,另外拓展一下unionid代表微信用户在企业中的唯一标识)④后端查询数据库是否存......
  • 基于web的深度学习图像处理界面开发(二)
         现在很多搞算法的人,跑跑代码,比如训练和测试代码搞得飞溜,但想把算法代码打包成一个软件,比如给它包装一个界面,就不会了,一般来说,对使用python的人来说,界面的开发有两种,一种是桌面界面基于qt,另外一种是网页界面基于web。本文的猪脚是基于web开发一个界面。   ......
  • 基于PyQt Python的深度学习图像处理界面开发(二)
         Python标准库更多的适合处理后台任务,唯一的图形库tkinter使用起来很不方便,所以后来出现了针对Python图形界面开发的扩展库,例如PyQt。    在介绍PyQt之前,必须先简单介绍一下Qt。Qt是一个C++可视化开发平台,是一个跨平台的C++图形用户界面应用程序框架(C++......