• 大小: 78KB
    文件类型: .zip
    金币: 1
    下载: 0 次
    发布日期: 2021-05-22
  • 语言: Python
  • 标签: python  tkinter  

资源简介

使用python tkinter写的登陆窗口,源码需要的可以参考下

资源截图

代码片段和文件信息

import tkinter as tk
import pickle
import tkinter.messagebox

window=tk.Tk()
window.title(‘欢迎登陆OBD扩容工具‘)
window.geometry(‘450x300‘)

canvas=tk.Canvas(windowheight=200width=500)
image_file=tk.PhotoImage(file=‘welcome.gif‘)
image=canvas.create_image(00anchor=tk.NWimage=image_file)
canvas.pack(side=tk.TOP)

tk.Label(windowtext=“用户名:“).place(x=50y=150 anchor=‘nw‘)
tk.Label(windowtext=“密码:“).place(x=50y=190 anchor=‘nw‘)

var_usr_name=tk.StringVar()
var_usr_name.set(‘example@python.com‘)
entry_usr_name=tk.Entry(windowtextvariable=var_usr_name)
entry_usr_name.place(x=160y=150)

var_usr_pwd=tk.StringVar()
entry_usr_pwd=tk.Entry(windowtextvariable=var_usr_pwdshow=‘*‘)
entry_usr_pwd.place(x=160y=190)


def usr_login():
    usr_name=var_usr_name.get()
    usr_pwd=var_usr_pwd.get()
    try:
        with open(‘usrs_info.pickle‘‘rb‘) as f:
            user_info=pickle.load(f)
    except FileNotFoundError:
        with open(‘usrs_info.pickle‘‘wb‘) as f:
            user_info={‘admin‘:‘admin‘}
            pickle.dump(user_infof)
    if usr_name in user_info:
        if usr_pwd==user_info[usr_name]:
            tk.messagebox.showinfo(‘欢迎 %s‘%usr_name)
        else:
            tk.messagebox.showerror(‘密码错误‘)
    else:
        is_sign_up=tk.messagebox.askyesno(‘账号不存在,是否注册?‘)

        if is_sign_up:
            usr_sign_up()

def usr_sign_up():
    def sign_to_Mofan_Python():
        ##以下三行就是获取我们注册时所输入的信息
        np = new_pwd.get()
        npf = new_pwd_confirm.get()
        nn = new_name.get()

        ##这里是打开我们记录数据的文件,将注册信息读出
        with open(‘usrs_info.pickle‘ ‘rb‘) as usr_file:
            exist_usr_info = pickle.load(usr_file)

        ##这里就是判断,如果两次密码输入不一致,则提示‘‘Error‘ ‘Password and confirm password must be the same!‘‘
        if np != npf:
            tk.messagebox.showerror(‘Error‘ ‘Password and confirm password must be the same!‘)

        ##如果用户名已经在我们的数据文件中,则提示‘‘Error‘ ‘The user has already signed up!‘‘
        elif nn in exist_usr_info:
            tk.messagebox.showerror(‘Error‘ ‘The user has already signed up!‘)

        ##最后如果输入无以上错误,则将注册输入的信息记录到文件当中,并提示注册成功‘‘Welcome‘ ‘You have successfully signed up!‘‘
        ##然后销毁窗口。
        else:
            exist_usr_info[nn] = np
            with open(‘usrs_info.pickle‘ ‘wb‘) as usr_file:
                pickle.dump(exist_usr_info usr_file)
            tk.messagebox.showinfo(‘Welcome‘ ‘You have successfully signed up!‘)
            ##然后销毁窗口。
            window_sign_up.destroy()
    window_sign_up = tk.Toplevel(window)
    window_sign_up.geometry(‘350x200‘)
    window_sign_up.title(‘Sign up window‘)
    new_name = tk.StringVar()#将输入的注册名赋值给变量
    new_name.set(‘example@python.com‘)#将最初显示定为‘example@python.com‘
    tk.Label(window_sign_up text=‘User name: ‘).place(x=10 y= 10)#将‘User name:‘放置在坐标(1010)。
    entry_new_name = tk.Entry(window_sign_up textvariable=new_name)#创建一个注册名的‘entry‘,变量为‘new_name‘
    ent

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     文件        4365  2018-10-13 16:01  新建文件夹 (4)\login.py
     文件       79059  2018-10-13 12:26  新建文件夹 (4)\welcome.gif
     目录           0  2018-10-13 16:03  新建文件夹 (4)\

评论

共有 条评论