1
+ import tkinter as tk
2
+ import tkinter .messagebox
3
+ from tkinter import PhotoImage
4
+ from tkinter import messagebox
5
+ from tkinter .font import Font
6
+ import customtkinter
7
+ from PIL import Image , ImageTk
8
+
9
+ customtkinter .set_appearance_mode ("dark" )
10
+
11
+ def check_credentials (username , password ):
12
+ # Read the stored usernames and passwords from text files
13
+ with open ('File Path Where username is stored' , 'r' ) as f_username , open ('File Path where password is stored' , 'r' ) as f_password :
14
+ stored_usernames = f_username .read ().splitlines ()
15
+ stored_passwords = f_password .read ().splitlines ()
16
+
17
+ # Check if the entered credentials match any of the stored values
18
+ for stored_username , stored_password in zip (stored_usernames , stored_passwords ):
19
+ if username == stored_username and password == stored_password :
20
+ return True
21
+
22
+ return False
23
+
24
+
25
+ class Login (customtkinter .CTk ):
26
+ width = 1240 #helps in image width
27
+ height = 1080 #helps in image height
28
+ def __init__ (self ):
29
+ super ().__init__ ()
30
+
31
+ # OPENEING WINDOW SIZE
32
+ self .title ("Login" )
33
+ self .geometry (f"{ 1240 } x{ 720 } " )
34
+ # IMAGE ADDITION IN BACKGROUND
35
+ # self.bg_image = customtkinter.CTkImage(Image.open("Image Path"),size=(self.width, self.height))
36
+ # self.bg_image_label = customtkinter.CTkLabel(self, image=self.bg_image)
37
+ # self.bg_image_label.grid(row=0, column=0)
38
+
39
+ # LOGIN FRAME INSIDE WINDOW
40
+ # TEXT : "Welcome!\nUnified Travelling & Transport System"
41
+ self .login_frame = customtkinter .CTkFrame (self , corner_radius = 15 )
42
+ self .login_frame .grid (row = 0 , column = 0 , sticky = "ns" )
43
+ self .login_label = customtkinter .CTkLabel (self .login_frame , text = "Welcome!\n To lOIGN pAGE" ,font = customtkinter .CTkFont (size = 24 , weight = "bold" , slant = "roman" , family = "Helvetica" ))
44
+ self .login_label .grid (row = 0 , column = 0 , padx = 30 , pady = (150 , 15 ))
45
+
46
+ #TEXT : LOGIN PAGE
47
+ self .login_label_2 = customtkinter .CTkLabel (self .login_frame , text = "Login Page" ,font = customtkinter .CTkFont (size = 40 , weight = "bold" ))
48
+ self .login_label_2 .grid (row = 1 , column = 0 , padx = 30 , pady = (50 , 15 ))
49
+
50
+ #TEXT : USERNAME
51
+ self .username_entry = customtkinter .CTkEntry (self .login_frame , width = 300 , placeholder_text = "Username" )
52
+ self .username_entry .grid (row = 2 , column = 0 , padx = 30 , pady = (15 , 15 ))
53
+
54
+ #TEXT : PASSWORD
55
+ self .password_entry = customtkinter .CTkEntry (self .login_frame , width = 300 , show = "*" , placeholder_text = "Password" )
56
+ self .password_entry .grid (row = 3 , column = 0 , padx = 30 , pady = (0 , 15 ))
57
+
58
+ #TEXT : LOGIN BUTTON TEXT
59
+ self .login_button = customtkinter .CTkButton (self .login_frame , text = "Login" , command = self .login_event , width = 200 )
60
+ self .login_button .grid (row = 4 , column = 0 , padx = 30 , pady = (15 , 15 ))
61
+
62
+ def login_event (self ):
63
+
64
+ entered_username = self .username_entry .get ()
65
+ entered_password = self .password_entry .get ()
66
+
67
+ QueryCheckForPassword = sql .Query_LoginCheck (entered_username , entered_password )
68
+
69
+ if QueryCheckForPassword :
70
+ self .destroy ()
71
+
72
+ else :
73
+ print ("error" )
74
+ return messagebox .showerror ('Error' ,'Incorrect Username or Password' )
75
+
76
+ print ("Login pressed - username:" , entered_username , "password:" ,entered_password )
77
+
78
+ if __name__ == "__main__" :
79
+ app9 = Login ()
80
+ app9 .mainloop ()
0 commit comments