Create User Login And Signup In Python Using Tkinter

How To Create User Login And Signup In Python Using Tkinter

Create user login and signup In Python Using Tkinter library. In python tkinter library allow  your to create customer GUI application by using its library or module. Please also search in google,bing, yahoo, yandex, duckgo and other browser how to create a graphical register and login system in Python.

In previous tutorial I have teach you how to creat gui application in python using tkinter, which I received good feedback from your. After this I decide to write another  good article about tkinter and a series of python tkinter. Because you take much interest in my content about python programming.

So in this tutorial we will learn how to create user login and signup in python using tkinter library. We will create login and registration form in python tkinter.

After doing this python tkinter GUI signup and login system with examples you will be able to do following.

  1. Create GUI Signup And Login Form In Python Using tkinter Library.
  2. Connection Python With SQLite3.
  3. Create Method For Save and Retrieve  User Data From Database.

To creating this project in python I am using Pycharm IDE if you don’t download and isntall this please read this how to download and install Pycharm in your PC or Laptop.

Step 1. Open your Pycharm IDE and create new project with the name of Signup and Login System Tkinter.

Step 02. By default a python file already added in your project now you need to add   login.py. 

Step 03. Open your DB Browser SQLite3 and create a database with thee name of user_registration.

Step 04. Create a table tbl_users by writing SQL statement. Like this below.

CREATE TABLE "tbl_users" (
"user_id" INTEGER,
"username" TEXT NOT NULL,
"password" TEXT NOT NULL,
PRIMARY KEY("user_id" AUTOINCREMENT)
);

Step 04. Open your login.py file  and write the following code to install the tkinter module.

#create user login and signup in python using tkinter
# imports
from tkinter import *
from tkinter import messagebox as ms

Step 05. Create database connection with SQLite3 database which have  recentry created (user_registration) 

#create user login and signup in python using tkinter
import sqlite3
#create user login and signup in python using tkinter
# make database and users (if not exists already) table at programme start up
with sqlite3.connect('user_registration.db') as db:
c = db.cursor()
#create user login and signup in python using tkinter
c.execute('CREATE TABLE IF NOT EXISTS tbl_user (username TEXT NOT NULL PRIMARY KEY,password TEX NOT NULL);')
db.commit()
db.close()
 

Step 06. Copy the below code  and paste it after the connection.

create user login and signup in python using tkinter
# main Class
class main:
def __init__(self, master):
# Window
self.master = master
# Some Usefull variables
self.username = StringVar()
self.password = StringVar()
self.n_username = StringVar()
self.n_password = StringVar()
# Create Widgets
self.widgets()

# Login Function
def login(self):
# Establish Connection
with sqlite3.connect('users_registration.db') as db:
c = db.cursor()

# Find user If there is any take proper action
find_user = ('SELECT * FROM tbl_users WHERE username = ? and password = ?')
c.execute(find_user, [(self.username.get()), (self.password.get())])
result = c.fetchall()
if result:
self.logf.pack_forget()
self.head['text'] = self.username.get() + '\n Loged In'
self.head['pady'] = 200
else:
ms.showerror('Oops!', 'Username Not Found.')

def new_user(self):
# Establish Connection
with sqlite3.connect('users_registration.db') as db:
c = db.cursor()

# Find Existing username if any take proper action
find_user = ('SELECT username FROM tbl_users WHERE username = ?')
c.execute(find_user, [(self.n_username.get())])
if c.fetchall():
ms.showerror('Error!', 'Username Taken Try a Diffrent One.')
else:
ms.showinfo('Success!', 'Account Created!')
self.log()
# Create New Account
insert = 'INSERT INTO tbl_users(username,password) VALUES(?,?)'
c.execute(insert, [(self.n_username.get()), (self.n_password.get())])
db.commit()

# Frame Packing Methords

def log(self):
self.username.set('')
self.password.set('')
self.crf.pack_forget()
self.head['text'] = ' User LOGIN'
self.logf.pack()

def cr(self):
self.n_username.set('')
self.n_password.set('')
self.logf.pack_forget()
self.head['text'] = 'Create Account'
self.crf.pack()

# Draw Widgets
def widgets(self):
self.head = Label(self.master, text=' User LOGIN', border='2', fg='blue',font=('', 35), pady=10)
self.head.pack()
self.logf = Frame(self.master, padx=10, pady=10)
Label(self.logf, text='Username: ', fg='blue',font=('', 20), pady=5, padx=5).grid(sticky=W)
Entry(self.logf, textvariable=self.username, bd=5, font=('', 15)).grid(row=0, column=1)
Label(self.logf, text='Password: ',fg='blue', font=('', 20), pady=5, padx=5).grid(sticky=W)
Entry(self.logf, textvariable=self.password, bd=5, font=('', 15), show='*').grid(row=1, column=1)
Button(self.logf, text=' Login ',fg='green', bd=3, font=('', 15), padx=5, pady=5, command=self.login).grid()
Button(self.logf, text=' Create Account ', bd=3, fg='blue' ,font=('', 15), padx=5, pady=5, command=self.cr).grid(row=2,
column=1)
self.logf.pack()

self.crf = Frame(self.master, padx=10, pady=10)
Label(self.crf, text='Username: ', font=('', 20), pady=5, padx=5).grid(sticky=W)
Entry(self.crf, textvariable=self.n_username, bd=5, font=('', 15)).grid(row=0, column=1)
Label(self.crf, text='Password: ', font=('', 20), pady=5, padx=5).grid(sticky=W)
Entry(self.crf, textvariable=self.n_password, bd=5, font=('', 15), show='*').grid(row=1, column=1)
Button(self.crf, text='Create Account', bd=3, font=('', 15), padx=5, pady=5, command=self.new_user).grid()
Button(self.crf, text='Go to Login', bd=3, font=('', 15), padx=5, pady=5, command=self.log).grid(row=2,
column=1)


if __name__ == '__main__':
# Create Object
# and setup window
root = Tk()
root.title('User Login and Registration Form')
# root.geometry('400x350+300+300')
main(root)
root.mainloop()

This Post Has 17 Comments

  1. JU88VQ1DP https://dzen.ru sgjvhnbtcbtfgdjgfb

    JU88VQ1DP https://dzen.ru sgjvhnbtcbtfgdjgfb

  2. Push it to the limit cool Wolf you are the best and you can do everything https://www.samsung.com smkmkplobydlmcrjmzgvx 1339633

    Push it to the limit cool Wolf you are the best and you can do everything https://www.samsung.com smkmkplobydlmcrjmzgvx

  3. Push it to the limit cool Wolf you are the best and you can do everything https://www.samsung.com smkmkplobydlmcrjmzgvx 0598633

    Push it to the limit cool Wolf you are the best and you can do everything https://www.samsung.com smkmkplobydlmcrjmzgvx

  4. Push it to the limit cool Wolf! You are the best and you can do everything! It'll all work out very very very soon! https://www.samsung.com smkmkplobydlmcrjmzgvx 2770549

    Push it to the limit cool Wolf! You are the best and you can do everything! It’ll all work out very very very soon! https://www.samsung.com smkmkplobydlmcrjmzgvx

  5. Push it to the limit cool Wolf! You are the best and you can do everything! It'll all work out very very very soon! https://www.samsung.com smkmkplobydlmcrjmzgvx 9987259

    Push it to the limit cool Wolf! You are the best and you can do everything! It’ll all work out very very very soon! https://www.samsung.com smkmkplobydlmcrjmzgvx

  6. Push it to the limit cool Wolf! You are the best and you can do everything! It'll all work out very very very soon! https://www.samsung.com smkmkplobydlmcrjmzgvx 1103141

    Push it to the limit cool Wolf! You are the best and you can do everything! It’ll all work out very very very soon! https://www.samsung.com smkmkplobydlmcrjmzgvx

  7. Push it to the limit cool Wolf! You are the best and you can do everything! It'll all work out very very very soon! https://www.samsung.com smkmkplobydlmcrjmzgvx 9442327

    Push it to the limit cool Wolf! You are the best and you can do everything! It’ll all work out very very very soon! https://www.samsung.com smkmkplobydlmcrjmzgvx

  8. От 25 000 рублей с САЙТА и РЕКЛАМНОЙ КАМПАНИИ. Подробнее по ссылке: https://google.com 0884411

    От 25 000 рублей с САЙТА и РЕКЛАМНОЙ КАМПАНИИ. Подробнее по ссылке: https://google.com

  9. Thank you For your hard work over the years! For this, we give you the opportunity. https://google.com#1234567890 For more information, see the instructions. skfhjvkjsdjsrbhvbsrfhkis 1730982

    Thank you For your hard work over the years! For this, we give you the opportunity. https://google.com#1234567890 For more information, see the instructions. skfhjvkjsdjsrbhvbsrfhkis

  10. Thank you For your hard work over the years! For this, we give you the opportunity. https://google.com#1234567890 For more information, see the instructions. skfhjvkjsdjsrbhvbsrfhkis 9590786

    Thank you For your hard work over the years! For this, we give you the opportunity. https://google.com#1234567890 For more information, see the instructions. skfhjvkjsdjsrbhvbsrfhkis

  11. E9H6M1M2A https://dzen.ru sgjvhnbtcbstfgdjgfbs

    E9H6M1M2A https://dzen.ru sgjvhnbtcbstfgdjgfbs

  12. Thank you For your hard work over the years! For this, we give you the opportunity. https://google.com#1234567890 For more information, see the instructions. skfhjvkjsdjsrbhvbsrfhkis 4400329

    Thank you For your hard work over the years! For this, we give you the opportunity. https://google.com#1234567890 For more information, see the instructions. skfhjvkjsdjsrbhvbsrfhkis

Leave a Reply