search
HomeBackend DevelopmentPython TutorialShare an example tutorial of tkinter login and registration interface

import tkinter as tk
from tkinter import messagebox

#设置窗口居中
def window_info():
    ws = window.winfo_screenwidth()
    hs = window.winfo_screenheight()
    x = (ws / 2) - 200
    y = (hs / 2) - 200
    print("%d,%d" % (ws, hs))
    return x,y

#设置登陆窗口属性
window = tk.Tk()
window.title('欢迎使用停车场收费系统')
a,b=window_info()
window.geometry("450x300+%d+%d"%(a,b))

#登陆界面的信息
tk.Label(window,text="停车场收费系统",font=("宋体",32)).place(x=80,y=50)
tk.Label(window,text="账号:").place(x=120,y=150)
tk.Label(window,text="密码:").place(x=120,y=190)
#显示输入框
var_usr_name = tk.StringVar()
#显示默认账号
var_usr_name.set('1400370101')
entry_usr_name=tk.Entry(window,textvariable=var_usr_name)
entry_usr_name.place(x=190,y=150)
var_usr_pwd = tk.StringVar()
#设置输入密码后显示*号
entry_usr_pwd = tk.Entry(window,textvariable=var_usr_pwd,show='*')
entry_usr_pwd.place(x=190,y=190)

#登陆函数
def usr_login():
    #获取输入的账号密码
    usr_name = var_usr_name.get()
    usr_pwd = var_usr_pwd.get()
    #获取存储的账户信息,此处使用的是数据库,调用数据库查询函数,也可以使用其他方式,如文件等
    dicts = SQL.load('login')
    print(dicts)
    bool = False
    for row in dicts:
        print(row.get("name"))
        if usr_name == row["name"]:
            bool = True
            pwd = row["password"]
            print(row)
    if bool == True:
        if usr_pwd == pwd:
            tk.messagebox.showinfo(title='Welcome', message='How are you?' +usr_name)
            mainwindow()
        else:
            tk.messagebox.showerror(message='对不起,输入错误,请重试!')
    else:
        is_sign_up = tk.messagebox.askyesno('Welcome', '您还没有注册,是否现在注册呢?')
        if is_sign_up:
            usr_sign_up()
#注册账号
def usr_sign_up():
    def sign_to_Pyhon():
        np = new_pwd.get()
        npc = new_pwd_confirm.get()
        nn = new_name.get()

        dicts = SQL.load('login')
        print(dicts)
        bool = False
        for row in dicts:
            if nn == row["name"]:
                bool = True
                print(row)
        if np!=npc:
            tk.messagebox.showerror('对不起','两次密码输入不一致!')
        elif bool:
            tk.messagebox.showerror(('对不起','此账号已经存在!'))
        else:
            try:
                SQL.insert_login(str(nn),str(np))
                tk.messagebox.showinfo('Welcome','您已经注册成功!')
            except:
                tk.messagebox.showerror(('注册失败!'))
            window_sign_up.destroy()
   #创建top窗口作为注册窗口
    window_sign_up = tk.Toplevel(window)
    window_sign_up.geometry('350x200')
    window_sign_up.title('注册')

    new_name = tk.StringVar()
    new_name.set('1400370115')
    tk.Label(window_sign_up,text='账号:').place(x=80,y=10)
    entry_new_name = tk.Entry(window_sign_up,textvariable=new_name)
    entry_new_name.place(x=150,y=10)

    new_pwd = tk.StringVar()
    tk.Label(window_sign_up, text='密码:').place(x=80, y=50)
    entry_usr_pwd =   tk.Entry(window_sign_up,textvariable=new_pwd,show='*')
    entry_usr_pwd.place(x=150, y=50)

    new_pwd_confirm = tk.StringVar()
    tk.Label(window_sign_up,text='再次输入:').place(x=80,y=90)
    entry_usr_pwd_again = tk.Entry(window_sign_up,textvariable=new_pwd_confirm,show='*')
    entry_usr_pwd_again.place(x=150, y=90)

    btn_again_sign_up = tk.Button(window_sign_up,text='注册',command=sign_to_Pyhon)
    btn_again_sign_up.place(x=160,y=130)

#登陆和注册按钮
btn_login = tk.Button(window,text="登陆",command=usr_login)
btn_login.place(x=170,y=230)
btn_sign_up = tk.Button(window,text="注册",command=usr_sign_up)
btn_sign_up.place(x=270,y=230)

window.mainloop()

This is the login registration interface I wrote. Using tkinter, you can implement simple login and account registration. The main components used are Label, Entry and Button components.

The above is the detailed content of Share an example tutorial of tkinter login and registration interface. For more information, please follow other related articles on the PHP Chinese website!

Statement
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Python-Tkinter中的树状视图滚动条Python-Tkinter中的树状视图滚动条Aug 20, 2023 pm 05:57 PM

在图形用户界面(GUI)中处理层次数据时,通常需要以结构化和有组织的方式显示数据。Python-Tkinter中的Treeview小部件提供了一种以用户友好的方式呈现层次数据的强大解决方案。然而,随着Treeview中项目的数量增加,包含滚动条以确保平滑的导航和可用性变得至关重要。首先,请确保您的系统上安装了Python和Tkinter。推荐使用Python3以提高兼容性和功能。如果您没有安装Tkinter,可以使用Python软件包管理器pip轻松安装它。打开您的终端或命令提示符,并运行以下命

如何使用ttkbootstrap为Python GUI创建优美的界面?如何使用ttkbootstrap为Python GUI创建优美的界面?May 07, 2023 pm 03:40 PM

这两张图片是截取官网上提供的展示效果图:主题切换简单的主题切换,由于当前窗口上组件很少,所以感觉效果不明显,但是当组件布局很多时就会很好看。importttkbootstrapasttkfromttkbootstrap.constantsimport*root=ttk.Window()style=ttk.Style()theme_names=style.theme_names()#以列表的形式返回多个主题名theme_selection=ttk.Frame(root,padding=(10,10

Python小技之不用 Gui,照样实现图形界面Python小技之不用 Gui,照样实现图形界面Apr 12, 2023 pm 04:43 PM

如果说程序员有什么怕的,那我想可能就是 —— 需求又变了!这不,客户在笔者开发完一个基于浏览器的 Web 应用程序之后说:程序需要在内(无)部(网)环境中运行……这就意味着无法安装 Python 环境!谁叫咱是程序员呢,不就开发一个 GUI 版本吗,难不倒我……可是听到给的时间后,就不淡定了……为了不影响客户的评测,只能给出一周时间!构思GUI 虽然也不难,不过需要梳理一遍服务以及与用户的交互接口,弄不好就得为 GUI 单独编写接口,这点时间显然不够呀。不行,就再想想办法……不然直接将 Web

使用Tkinter在Python中的Place_forget()方法使用Tkinter在Python中的Place_forget()方法Sep 03, 2023 am 11:25 AM

Tkinter,apopularGUItoolkitforPython,offersaplethoraoftoolstodesignintuitiveandinteractiveinterfaces,amongthese,thePlace_forget()methodstandsoutasapowerfultoolfordynamicGUIlayoutmanipulation.Thismethodenablesdeveloperstoeffortlesslyhideorremovewidgets

Python Tkinter GUI编程怎么实现Frame切换Python Tkinter GUI编程怎么实现Frame切换May 11, 2023 pm 04:25 PM

1、Frame的tkraise()方法介绍通常,一个Tkinter应用程序由多个Frame组成。而且您经常需要在Frame之间切换以显示与用户选择相关的Frame。Tkinter允许将Frame堆叠在一起。要显示特定Frame,只需按堆叠顺序将一个放在另一个之上。顶部Frame将可见。要将Frame置于顶部,可以使用Frame小部件的tkraise()方法,如下所示:frame.tkraise()2、tkraise用法示例下面将实现一个温度转换小应用,华氏温度和摄氏温度分别使用两个不同的Fram

Python GUI布局工具Tkinter使用方法是什么Python GUI布局工具Tkinter使用方法是什么May 09, 2023 pm 02:16 PM

图形用户界面(GUI)图形用户界面(GUI)只不过是一个桌面应用程序,可帮助我们与计算机进行交互像文本编辑器这样的GUI应用程序可以创建、读取、更新和删除不同类型的文件数独、国际象棋和纸牌等应用程序则是游戏版的GUI程序还有GoogleChrome、Firefox和MicrosoftEdge之类的GUI应用程序是用来浏览Internet的这些都是我们日常在电脑上使用的一些不同类型的GUI应用程序,其实我们通过Tkinter也是可以构建简单的类似应用程序的今天我们作为GUI的入门,将创建一个非常简

word界面变小了怎么办word界面变小了怎么办Mar 20, 2024 pm 09:30 PM

我们在使用电脑进行word文档操作编辑的时候,经常不知道是触碰到了什么位置,界面忽然变得很小,有时候word文档里的文字都看不太清楚了。有人可能遇到这样的问题会惊慌失措了,以为是不是电脑出了故障,其实,这只是因为你碰到了某种设置,将显示做了调整。那么,如果不小心改变了界面显示的大小,应该怎么恢复和调整呢?word界面变小了怎么办呢?下边,我们就分享几种方式加以解决,希望你遇到这样的问题的时候能够轻松应对和处理。首先,我们新建并打开一个Word文档,进行简单的编辑操作,以便于展示操作步骤。在下图中

怎么使用Python+tkinter编写一个强制表白神器怎么使用Python+tkinter编写一个强制表白神器May 19, 2023 am 11:31 AM

尽管Python提供了多个消息框已经能够满足大部分正常人的需求,但并不够灵活,所以有的时候不得不自定义消息框。新建窗口消息框的本质是一个窗口、一段信息,外加两个按钮importtkinterastkFONT=("微软雅黑",20)defmsgBox(txt,yesFunc=None,noFunc=None):win=tk.Tk()win.title("started")win.geometry("400x200+300+100")lab

See all articles

Hot AI Tools

Undresser.AI Undress

Undresser.AI Undress

AI-powered app for creating realistic nude photos

AI Clothes Remover

AI Clothes Remover

Online AI tool for removing clothes from photos.

Undress AI Tool

Undress AI Tool

Undress images for free

Clothoff.io

Clothoff.io

AI clothes remover

AI Hentai Generator

AI Hentai Generator

Generate AI Hentai for free.

Hot Article

R.E.P.O. Energy Crystals Explained and What They Do (Yellow Crystal)
3 weeks agoBy尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Best Graphic Settings
3 weeks agoBy尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. How to Fix Audio if You Can't Hear Anyone
3 weeks agoBy尊渡假赌尊渡假赌尊渡假赌

Hot Tools

EditPlus Chinese cracked version

EditPlus Chinese cracked version

Small size, syntax highlighting, does not support code prompt function

ZendStudio 13.5.1 Mac

ZendStudio 13.5.1 Mac

Powerful PHP integrated development environment

VSCode Windows 64-bit Download

VSCode Windows 64-bit Download

A free and powerful IDE editor launched by Microsoft

SublimeText3 Mac version

SublimeText3 Mac version

God-level code editing software (SublimeText3)

Dreamweaver Mac version

Dreamweaver Mac version

Visual web development tools