欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

小登陆界面

程序员文章站 2022-04-18 17:16:51
...

前天晚上开始感兴趣GUI,结果现在才写出来个垃圾登陆界面,我选择死亡,
发现了很多的问题,基础过于薄弱,json的dumps,dump,load,loads和with open都还理解不透彻
代码放在下面 有很多地方没有注释,希望看官给个面子

import tkinter
import json
from tkinter import messagebox
window = tkinter.Tk()
window.title('www')
window.geometry('500x500')

var1 = tkinter.StringVar('')
var2 = tkinter.StringVar('')
var3 = tkinter.StringVar('')
print (var1)

def denglu():
    with open ('C:\\Users\\Lenovo\\Desktop\\ggg.json','r')as f:
        g = json.loads(json.load(f))
        var4 = text1.get()
        var5 = text1.get()
        if var4 in g['user']:

            if var5 in g['keys']:
                var3 = '小老弟你终于登陆了'
                tkinter.messagebox.showerror(title='成功', message=var3)
            else:
                tkinter.messagebox.showerror(title='密码错误', message='密码错误')
        else:
            print (var4)
            var3 = '你他妈的还没有注册,是否注册?'
            wtf = tkinter.messagebox.askyesno(title='错误', message=var3)
            if wtf:
                window_sign_up = tkinter.Toplevel(window)
                window_sign_up.geometry('500x500')
                window_sign_up.title('Sign up window')
                def zhuce():
                    if text3.get() in g['user']:
                        tkinter.messagebox.showerror(title='你注册过了', message='你注册过了朋友干嘛呢!')
                    else:
                        if text4.get() == text5.get():
                            tkinter.messagebox.showerror(title='成功小老弟', message='成功')
                            g['user'].append(text3.get())
                            g['keys'].append(text4.get())
                            b = json.dumps(g)
                            with open ('C:\\Users\\Lenovo\\Desktop\\ggg.json','w')as ff:
                                json.dump(b, ff)

                        else:
                            tkinter.messagebox.showerror(title='错误', message='你他们两次密码都能错?!')


                list1 = tkinter.Label(window_sign_up, text='用户名:', font=20).place(x=50, y=150)
                list2 = tkinter.Label(window_sign_up, text='密码:', font=20).place(x=50, y=200)
                list3 = tkinter.Label(window_sign_up, text='再次输入:', font=20).place(x=40, y=250)
                text3 = tkinter.Entry(window_sign_up, font=20)
                text3.place(x=150, y=150)
                text4 = tkinter.Entry(window_sign_up, font=20)
                text4.place(x=150, y=200)
                text5 = tkinter.Entry(window_sign_up, font=20)
                text5.place(x=150, y=250)
                b2 = tkinter.Button(window_sign_up, text='注册', width=15, command=zhuce).place(x=250, y=300)



            else:
                pass


def zhuce1():
    pass


# 图片
can1 = tkinter.Canvas(window,height=500,width=500)
image_file = tkinter.PhotoImage(file = 'C:\\Users\\Lenovo\\Desktop\\素材\\psb.gif')
image = can1.create_image(200,0,anchor='nw',image=image_file )
image_file2 = tkinter.PhotoImage(file = 'C:\\Users\\Lenovo\\Desktop\\素材\\下载.gif')
image2 = can1.create_image(200,125,anchor='w',image=image_file2 )
can1.pack()
# 密码和账户的label
list1 = tkinter.Label(window,text = '用户名:',font = 20).place(x=50,y = 150)
list2 = tkinter.Label(window,text = '密码:',font = 20).place(x=50,y = 200)
# 输入框
text1 = tkinter.Entry(window,font = 20)
text1.place(x=150,y = 150)
text2 = tkinter.Entry(window,font = 20)
text2.place(x=150,y = 200)
# 按钮
b1 = tkinter.Button(window,text='登陆',width = 15,command= denglu).place(x= 100,y =270)

b2 = tkinter.Button(window,text='注册',width = 15,command=zhuce1).place(x= 250,y =270)



buttom = tkinter.Button(window,text = 'quit',width = 15,command= quit)
buttom.place(x= 300,y = 300)
window.mainloop()

语言可能不太友好,就这样 真开心。