python tkinterはユーザー登録画面を作成して簡単に実現します。


この文章は数年前に勉強したtkitterの時に書いたテストプログラムです。とても粗末です。ただ勉強するだけで、他の用途はありません。
莫烦Pythonのtkinter教程を勉強して、教程によってユーザー登録ページを作りました。基本機能はチェック登録、登録です。
以下のように実行します





コードは以下の通りです

# -*- coding: utf-8 -*-
"""
Created on Sun Aug  5 10:34:10 2018
@author: Administrator
"""
import tkinter as tk
import tkinter.messagebox
import pickle
#  
window=tk.Tk()
window.title('        ')
window.geometry('450x300')
#      
canvas=tk.Canvas(window,height=300,width=500)
imagefile=tk.PhotoImage(file='qm.png')
image=canvas.create_image(0,0,anchor='nw',image=imagefile)
canvas.pack(side='top')
#        
tk.Label(window,text='   :').place(x=100,y=150)
tk.Label(window,text='  :').place(x=100,y=190)
#      
var_usr_name=tk.StringVar()
entry_usr_name=tk.Entry(window,textvariable=var_usr_name)
entry_usr_name.place(x=160,y=150)
#     
var_usr_pwd=tk.StringVar()
entry_usr_pwd=tk.Entry(window,textvariable=var_usr_pwd,show='*')
entry_usr_pwd.place(x=160,y=190)
 
#    
def usr_log_in():
    #          
    usr_name=var_usr_name.get()
    usr_pwd=var_usr_pwd.get()
    #           ,            
    try:
        with open('usr_info.pickle','rb') as usr_file:
            usrs_info=pickle.load(usr_file)
    except FileNotFoundError:
        with open('usr_info.pickle','wb') as usr_file:
            usrs_info={'admin':'admin'}
            pickle.dump(usrs_info,usr_file)
    #            
    if usr_name in usrs_info:
        if usr_pwd == usrs_info[usr_name]:
            tk.messagebox.showinfo(title='welcome',
                                   message='   :'+usr_name)
        else:
            tk.messagebox.showerror(message='    ')
    #         
    elif usr_name=='' or usr_pwd=='' :
        tk.messagebox.showerror(message='        ')
    #              
    else:
        is_signup=tk.messagebox.askyesno('  ','      ,      ')
        if is_signup:
            usr_sign_up()
#    
def usr_sign_up():
    #          
    def signtowcg():
        #         
        nn=new_name.get()
        np=new_pwd.get()
        npf=new_pwd_confirm.get()
 
        #          ,             
        try:
            with open('usr_info.pickle','rb') as usr_file:
                exist_usr_info=pickle.load(usr_file)
        except FileNotFoundError:
            exist_usr_info={}           
            
        #       、    、       
        if nn in exist_usr_info:
            tk.messagebox.showerror('  ','      ')
        elif np =='' or nn=='':
            tk.messagebox.showerror('  ','        ')
        elif np !=npf:
            tk.messagebox.showerror('  ','       ')
        #                    
        else:
            exist_usr_info[nn]=np
            with open('usr_info.pickle','wb') as usr_file:
                pickle.dump(exist_usr_info,usr_file)
            tk.messagebox.showinfo('  ','    ')
            #         
            window_sign_up.destroy()
    #      
    window_sign_up=tk.Toplevel(window)
    window_sign_up.geometry('350x200')
    window_sign_up.title('  ')
    #        、   
    new_name=tk.StringVar()
    tk.Label(window_sign_up,text='   :').place(x=10,y=10)
    tk.Entry(window_sign_up,textvariable=new_name).place(x=150,y=10)
    #       、   
    new_pwd=tk.StringVar()
    tk.Label(window_sign_up,text='     :').place(x=10,y=50)
    tk.Entry(window_sign_up,textvariable=new_pwd,show='*').place(x=150,y=50)    
    #         、   
    new_pwd_confirm=tk.StringVar()
    tk.Label(window_sign_up,text='       :').place(x=10,y=90)
    tk.Entry(window_sign_up,textvariable=new_pwd_confirm,show='*').place(x=150,y=90)    
    #         
    bt_confirm_sign_up=tk.Button(window_sign_up,text='    ',
                                 command=signtowcg)
    bt_confirm_sign_up.place(x=150,y=130)
#     
def usr_sign_quit():
    window.destroy()
#       
bt_login=tk.Button(window,text='  ',command=usr_log_in)
bt_login.place(x=140,y=230)
bt_logup=tk.Button(window,text='  ',command=usr_sign_up)
bt_logup.place(x=210,y=230)
bt_logquit=tk.Button(window,text='  ',command=usr_sign_quit)
bt_logquit.place(x=280,y=230)
#   
window.mainloop()
ここでは、python tkinterがユーザー登録画面を作成して簡単に実現できる文章を紹介します。python tkinterユーザー登録の内容については、以前の文章を検索したり、以下の関連記事を見たりしてください。これからもよろしくお願いします。