GUI for the EVM machine
Embed:
(wiki syntax)
Show/hide line numbers
GUI.py
00001 from tkinter import * 00002 import tkinter.messagebox as box 00003 import pandas as pd 00004 import os 00005 import serial 00006 import array 00007 import pyttsx3 00008 00009 global name 00010 global gender 00011 global age 00012 global house 00013 party = [] 00014 count = [] 00015 00016 00017 class Auth: 00018 def __init__(self,master): 00019 self.t = 2 00020 self.master = master 00021 window = self.master 00022 window.title('Countries Generation') 00023 00024 self.frame = Frame(window) 00025 00026 self.Label1 = Label(window,text = 'Username:') 00027 self.Label1.pack(padx=15,pady= 5) 00028 00029 self.entry1 = Entry(window,bd =5) 00030 self.entry1.pack(padx=15, pady=5) 00031 self.Label2 = Label(window,text = 'Password: ') 00032 self.Label2.pack(padx = 15,pady=6) 00033 00034 self.entry2 = Entry(window, bd=5,show="*") 00035 self.entry2.pack(padx = 15,pady=7) 00036 # widget = Entry(parent, show="*", width=15) 00037 00038 self.btn = Button(self.frame, text = 'Check Login',command = self.dialog) 00039 00040 self.btn.pack(side = RIGHT , padx =5) 00041 self.frame.pack(padx=100,pady = 19) 00042 def dialog(self): 00043 username=self.entry1.get() 00044 password = self.entry2.get() 00045 if(username == 'khoury' and password=='khoury'): 00046 box.showinfo('info','Correct') 00047 self.t=1 00048 00049 else: 00050 box.showinfo('info','Wrong-'+str(self.t)) 00051 if(self.t == 1): 00052 self.t=2 00053 root2 = Toplevel(self.master) 00054 myGui = Main(root2) 00055 # root2 = Toplevel(self.master) 00056 # myGui = Proceed(root2) 00057 # self.master.destroy() 00058 00059 class Main(): 00060 def __init__(self,master): 00061 self.master =master 00062 window = self.master 00063 self.master.title('Main Window') 00064 self.frame = Frame(window) 00065 self.btn = Button(self.frame, text = 'Credentials Checking',command = self.open_cred) 00066 self.btn.pack(side = RIGHT , padx =5) 00067 self.btn2 = Button(self.frame, text = 'Results',command = self.results) 00068 self.btn2.pack(side = LEFT , padx =5) 00069 00070 self.frame.pack(padx=100,pady = 19) 00071 def open_cred(self): 00072 root3 = Toplevel(self.master) 00073 myGui2 = Proceed(root3) 00074 def results(self): 00075 root3 = Toplevel(self.master) 00076 myGui2 = Results(root3) 00077 00078 00079 class Proceed: 00080 def __init__(self,master): 00081 00082 self.master = master 00083 window = self.master 00084 self.master.title('Credentials Check') 00085 self.frame = Frame(window) 00086 self.Label1 = Label(window,text = 'Votercard ID:') 00087 self.Label1.pack(padx=15,pady= 5) 00088 00089 self.entry1 = Entry(window,bd =5) 00090 self.entry1.pack(padx=15, pady=5) 00091 00092 self.btn = Button(self.frame, text = 'Check Credentials',command = self.checker) 00093 self.btn.pack(side = RIGHT , padx =5) 00094 self.frame.pack(padx=100,pady = 19) 00095 00096 def checker(self): 00097 voteID = self.entry1.get() 00098 df_out = pd.read_excel('/home/conan/Desktop/EVM/data.xlsx') 00099 df_out.set_index("voter_id", inplace=True) 00100 df_out.loc[voteID] 00101 global name 00102 global gender 00103 global age 00104 global house 00105 name=df_out.loc[voteID,['name_e']].tolist() 00106 gender=df_out.loc[voteID,['gender']].tolist() 00107 age=df_out.loc[voteID,['age']].tolist() 00108 house=df_out.loc[voteID,['house_no']].tolist() 00109 00110 root3 = Toplevel(self.master) 00111 00112 myGui2 = Proceed2(root3) 00113 # # ZME0069054 00114 class Proceed2: 00115 def __init__(self,master): 00116 00117 self.master = master 00118 window = self.master 00119 self.master.title('Voter Information From Database') 00120 self.frame = Frame(window) 00121 self.Label1 = Label(window,text = 'Voter Name:') 00122 self.Label1.pack(padx=15,pady= 5) 00123 self.Label2 = Label(window,text = name) 00124 self.Label2.pack(padx=30,pady= 5) 00125 self.Label3 = Label(window,text = 'Voter Age:') 00126 self.Label3.pack(padx=15,pady= 5) 00127 self.Label4 = Label(window,text = age) 00128 self.Label4.pack(padx=30,pady= 5) 00129 self.Label5 = Label(window,text = 'Voter Gender:') 00130 self.Label5.pack(padx=15,pady= 5) 00131 self.Label6 = Label(window,text = gender) 00132 self.Label6.pack(padx=30,pady= 5) 00133 self.Label7 = Label(window,text = 'Voter HouseAdd:') 00134 self.Label7.pack(padx=15,pady= 5) 00135 self.Label8 = Label(window,text = house) 00136 self.Label8.pack(padx=30,pady= 5) 00137 self.btn = Button(self.frame, text = 'Okay',command = self.send_red) 00138 self.btn.pack(side = RIGHT , padx =5) 00139 self.frame.pack(padx=100,pady = 19) 00140 00141 def send_red(self): 00142 self.master.destroy() 00143 00144 class Results: 00145 def __init__(self,master): 00146 00147 self.master= master 00148 window = self.master 00149 self.master.title('Results') 00150 self.frame = Frame(window) 00151 global party 00152 global count 00153 party = ['a','b','c','d','e','f','g'] 00154 count = [1,2,3,4,5,6,7] 00155 self.btn = Button(self.frame, text = 'Statistics',command = self.stat) 00156 self.btn.pack(side = RIGHT , padx =5) 00157 self.btn2 = Button(self.frame, text = 'Winner',command = self.fetch_data) 00158 self.btn2.pack(side = RIGHT , padx =5) 00159 self.btn2 = Button(self.frame, text = 'Graph') 00160 self.btn2.pack(side = RIGHT , padx =5) 00161 self.frame.pack(padx=100,pady = 19) 00162 00163 00164 def fetch_data(self): 00165 root4 = Toplevel(self.master) 00166 myGui = Proceed4(root4) 00167 00168 def stat(self): 00169 root4 = Toplevel(self.master) 00170 myGui = Proceed3(root4) 00171 00172 class Proceed4: 00173 def __init__(self,master): 00174 self.master = master 00175 window = self.master 00176 self.master.title('Winner') 00177 self.frame = Frame(window) 00178 idx = count.index(max(count)) 00179 engine = pyttsx3.init(); 00180 rate =10 00181 newVolume = 0.0001 00182 def say(text): 00183 engine.say(text) 00184 engine.setProperty('voice', 0) 00185 engine.setProperty('rate', rate) 00186 engine.setProperty('volume', newVolume) 00187 engine.runAndWait() 00188 00189 say("CONGRATULATIONS! The winner party is " + party[idx]) 00190 00191 self.Label1 = Label(window,text = "Winner is : " + str(party[idx])) 00192 self.Label1.pack(padx=15,pady= 5) 00193 self.frame.pack(padx=100,pady = 19) 00194 00195 00196 00197 class Proceed3: 00198 def __init__(self,master): 00199 00200 self.master = master 00201 window = self.master 00202 self.master.title('Statistics') 00203 self.frame = Frame(window) 00204 self.Label1 = Label(window,text = party[0]+" : "+str(count[0])) 00205 self.Label1.pack(padx=15,pady= 5) 00206 # self.Label2 = Label(window,text = count[0]) 00207 # self.Label2.pack(padx=15,pady= 5) 00208 self.Label3 = Label(window,text = party[1]+" : "+str(count[1])) 00209 self.Label3.pack(padx=15,pady= 5) 00210 # self.Label4 = Label(window,text =count[1] ) 00211 # self.Label4.pack(padx=30,pady= 5) 00212 self.Label5 = Label(window,text = party[2]+" : "+str(count[2])) 00213 self.Label5.pack(padx=15,pady= 5) 00214 # self.Label6 = Label(window,text = count[2]) 00215 # self.Label6.pack(padx=30,pady= 5) 00216 self.Label7 = Label(window,text = party[3]+" : "+str(count[3])) 00217 self.Label7.pack(padx=15,pady= 5) 00218 # self.Label8 = Label(window,text = count[3]) 00219 # self.Label8.pack(padx=30,pady= 5) 00220 00221 self.Label7 = Label(window,text = party[4]+" : "+str(count[4])) 00222 self.Label7.pack(padx=15,pady= 5) 00223 # self.Label8 = Label(window,text = count[4]) 00224 # self.Label8.pack(padx=30,pady= 5) 00225 00226 self.Label7 = Label(window,text = party[5]+" : "+str(count[5])) 00227 self.Label7.pack(padx=15,pady= 5) 00228 # self.Label8 = Label(window,text = count[5]) 00229 # self.Label8.pack(padx=30,pady= 5) 00230 00231 self.Label7 = Label(window,text = party[6]+" : "+str(count[6])) 00232 self.Label7.pack(padx=15,pady= 5) 00233 # self.Label8 = Label(window,text = count[6]) 00234 # self.Label8.pack(padx=30,pady= 5) 00235 00236 self.btn = Button(self.frame, text = 'Okay',command = self.send_red) 00237 self.btn.pack(side = RIGHT , padx =5) 00238 self.frame.pack(padx=100,pady = 19) 00239 00240 def send_red(self): 00241 self.master.destroy() 00242 00243 00244 def main(): 00245 root =Tk() 00246 auth = Auth(root) 00247 root.mainloop() 00248 00249 if __name__ == '__main__': 00250 main()
Generated on Tue Jul 12 2022 17:04:29 by 1.7.2