登录注册

from  tkinter import Tk
import tkinter as tk
my_win = Tk()
my_win.title('登录')

weight = 300
height= 300
scr_wei,scr_hei = my_win.maxsize()
dx = "%dx%d+%d+%d"%(weight,height,(scr_wei-weight)/2,(scr_hei-height)/2)
my_win.geometry(dx)

# 添加标签
username= tk.Label(my_win,text='账号')  # Lable 属性就是一个展示字符串的属性
username.place(x=30,y=30)

username_text = tk.StringVar()  # StringVar要先到导入 tk包,这个属性是文本框属性
username_text.set('输入名字')   # 是文本框默认值
username_entry = tk.Entry(my_win,textvariable = username_text)  # 表示输入
username_entry.place(x=60,y=30)

password= tk.Label(my_win,text='密码')
password.place(x=30,y=50)

password_text = tk.StringVar()
password_text.set('输入密码')
password_entry = tk.Entry(my_win,textvariable = password_text)
password_entry.place(x=60,y=50)

my_win.mainloop()

在这里插入图片描述

from  tkinter import Tk
import tkinter as tk
my_win = Tk()
my_win.title('登录')

weight = 300
height= 300
scr_wei,scr_hei = my_win.maxsize()
dx = "%dx%d+%d+%d"%(weight,height,(scr_wei-weight)/2,(scr_hei-height)/2)
my_win.geometry(dx)

# 用户名
username= tk.Label(my_win,text='账号')  # Lable 属性就是一个展示字符串的属性
username.place(x=30,y=30)

username_text = tk.StringVar()  # StringVar要先到导入 tk包,这个属性是文本框属性
username_text.set('输入名字')   # 是文本框默认值
username_entry = tk.Entry(my_win,textvariable = username_text)  # 表示输入
username_entry.place(x=60,y=30)

username_button = tk.Button(my_win,text = '登录按钮')
username_button.place(x = 30,y = 70)

# 密码
password= tk.Label(my_win,text='密码')
password.place(x=30,y=50)

password_text = tk.StringVar()
password_text.set('输入密码')
password_entry = tk.Entry(my_win,textvariable = password_text)
password_entry.place(x=60,y=50)

password_button = tk.Button(my_win,text = '登录按钮')
password_button.place(x = 120,y = 70)

my_win.mainloop()

在这里插入图片描述
接下来就是比较重要的事件的触发了,加 command

from  tkinter import Tk
import tkinter as tk

def get_data():
    dict = {}
    with open('data.txt','r+') as f:
        rows = f.readlines()
        for row in rows:
            li = row.strip().split(':')
            dict[li[0]]=li[1]
    f.close()
    return dict

def login():
    shuju = get_data()
    name = username_text.get()
    pwd = password_text.get()
    # print(name,pwd)
    if name in shuju.keys():
        if pwd == shuju[name]:
            print('ok')
        else:
            print('不ok')
    else:
        print('名字没有')

my_win = Tk()
my_win.title('登录')

weight = 300
height= 300
scr_wei,scr_hei = my_win.maxsize()
dx = "%dx%d+%d+%d"%(weight,height,(scr_wei-weight)/2,(scr_hei-height)/2)
my_win.geometry(dx)

# 用户名
username= tk.Label(my_win,text='账号')  # Lable 属性就是一个展示字符串的属性
username.place(x=30,y=30)

username_text = tk.StringVar()  # StringVar要先到导入 tk包,这个属性是文本框属性
username_text.set('输入名字')   # 是文本框默认值
username_entry = tk.Entry(my_win,textvariable = username_text)  # 表示输入
username_entry.place(x=60,y=30)

username_button = tk.Button(my_win,text = '登录按钮',command = login)  # command 加上要触发的函数
username_button.place(x = 30,y = 70)

# 密码
password= tk.Label(my_win,text='密码')
password.place(x=30,y=50)

password_text = tk.StringVar()
password_text.set('输入密码')
password_entry = tk.Entry(my_win,textvariable = password_text)
password_entry.place(x=60,y=50)

password_button = tk.Button(my_win,text = '注册按钮')
password_button.place(x = 120,y = 70)

my_win.mainloop()

下面就是弹窗提示了

from  tkinter import Tk,messagebox
import tkinter as tk

def get_data():
    dict = {}
    with open('data.txt','r+') as f:
        rows = f.readlines()
        for row in rows:
            li = row.strip().split(':')
            dict[li[0]]=li[1]
    f.close()
    return dict

def login():
    shuju = get_data()
    name = username_text.get()
    pwd = password_text.get()
    # print(name,pwd)
    if name in shuju.keys():
        if pwd == shuju[name]:
            print('ok')
        else:
            print('不ok')
    else:
        # print('名字没有')
        messagebox.showerror(title='不对的',message='名字没有')  # 导messagebox包
        # messagebox.showinfo(title='不对的',message='名字没有')
        # messagebox.showwarning(title='不对的',message='名字没有')


my_win = Tk()
my_win.title('登录')

weight = 300
height= 300
scr_wei,scr_hei = my_win.maxsize()
dx = "%dx%d+%d+%d"%(weight,height,(scr_wei-weight)/2,(scr_hei-height)/2)
my_win.geometry(dx)

# 用户名
username= tk.Label(my_win,text='账号')  # Lable 属性就是一个展示字符串的属性
username.place(x=30,y=30)

username_text = tk.StringVar()  # StringVar要先到导入 tk包,这个属性是文本框属性
username_text.set('输入名字')   # 是文本框默认值
username_entry = tk.Entry(my_win,textvariable = username_text)  # 表示输入
username_entry.place(x=60,y=30)

username_button = tk.Button(my_win,text = '登录按钮',command = login)
username_button.place(x = 30,y = 70)

# 密码
password= tk.Label(my_win,text='密码')
password.place(x=30,y=50)

password_text = tk.StringVar()
password_text.set('输入密码')
password_entry = tk.Entry(my_win,textvariable = password_text)
password_entry.place(x=60,y=50)

password_button = tk.Button(my_win,text = '注册按钮')
password_button.place(x = 120,y = 70)

my_win.mainloop()

下面就是弹窗的嵌套和 grid 布局

from  tkinter import Tk,messagebox,Toplevel
import tkinter as tk

def get_data():
    dict = {}
    with open('data.txt','r+') as f:
        rows = f.readlines()
        for row in rows:
            li = row.strip().split(':')
            dict[li[0]]=li[1]
    f.close()
    return dict

def login():
    shuju = get_data()
    name = username_text.get()
    pwd = password_text.get()
    # print(name,pwd)
    if name in shuju.keys():
        if pwd == shuju[name]:
            print('ok')
        else:
            print('不ok')
    else:
        # print('名字没有')
        messagebox.showerror(title='不对的',message='名字没有')  # 导messagebox包
        # messagebox.showinfo(title='不对的',message='名字没有')
        # messagebox.showwarning(title='不对的',message='名字没有')

def pop_win():
    top = Toplevel()
    top.title('注册')
    top.geometry('250x200')
    tk.Label(top,text='账号').grid(row=1,column=0)
    name = tk.StringVar()
    tk.Entry(top,textvariable=name).grid(row=1,column=2)

    # 销毁窗体
    top.destroy()



my_win = Tk()
my_win.title('登录')

weight = 300
height= 300
scr_wei,scr_hei = my_win.maxsize()
dx = "%dx%d+%d+%d"%(weight,height,(scr_wei-weight)/2,(scr_hei-height)/2)
my_win.geometry(dx)

# 用户名
username= tk.Label(my_win,text='账号')  # Lable 属性就是一个展示字符串的属性
username.place(x=30,y=30)

username_text = tk.StringVar()  # StringVar要先到导入 tk包,这个属性是文本框属性
username_text.set('输入名字')   # 是文本框默认值
username_entry = tk.Entry(my_win,textvariable = username_text)  # 表示输入
username_entry.place(x=60,y=30)

username_button = tk.Button(my_win,text = '登录按钮',command = login)
username_button.place(x = 30,y = 70)

# 密码
password= tk.Label(my_win,text='密码')
password.place(x=30,y=50)

password_text = tk.StringVar()
password_text.set('输入密码')
password_entry = tk.Entry(my_win,textvariable = password_text)
password_entry.place(x=60,y=50)


# 注册
password_button = tk.Button(my_win,text = '注册按钮',command=pop_win)
password_button.place(x = 120,y = 70)

my_win.mainloop()








  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值