GUI for the EVM machine
GUI.py
- Committer:
- priyanshu_varshney
- Date:
- 2018-11-22
- Revision:
- 0:96d6bd6c646f
File content as of revision 0:96d6bd6c646f:
from tkinter import * import tkinter.messagebox as box import pandas as pd import os import serial import array import pyttsx3 global name global gender global age global house party = [] count = [] class Auth: def __init__(self,master): self.t = 2 self.master = master window = self.master window.title('Countries Generation') self.frame = Frame(window) self.Label1 = Label(window,text = 'Username:') self.Label1.pack(padx=15,pady= 5) self.entry1 = Entry(window,bd =5) self.entry1.pack(padx=15, pady=5) self.Label2 = Label(window,text = 'Password: ') self.Label2.pack(padx = 15,pady=6) self.entry2 = Entry(window, bd=5,show="*") self.entry2.pack(padx = 15,pady=7) # widget = Entry(parent, show="*", width=15) self.btn = Button(self.frame, text = 'Check Login',command = self.dialog) self.btn.pack(side = RIGHT , padx =5) self.frame.pack(padx=100,pady = 19) def dialog(self): username=self.entry1.get() password = self.entry2.get() if(username == 'khoury' and password=='khoury'): box.showinfo('info','Correct') self.t=1 else: box.showinfo('info','Wrong-'+str(self.t)) if(self.t == 1): self.t=2 root2 = Toplevel(self.master) myGui = Main(root2) # root2 = Toplevel(self.master) # myGui = Proceed(root2) # self.master.destroy() class Main(): def __init__(self,master): self.master =master window = self.master self.master.title('Main Window') self.frame = Frame(window) self.btn = Button(self.frame, text = 'Credentials Checking',command = self.open_cred) self.btn.pack(side = RIGHT , padx =5) self.btn2 = Button(self.frame, text = 'Results',command = self.results) self.btn2.pack(side = LEFT , padx =5) self.frame.pack(padx=100,pady = 19) def open_cred(self): root3 = Toplevel(self.master) myGui2 = Proceed(root3) def results(self): root3 = Toplevel(self.master) myGui2 = Results(root3) class Proceed: def __init__(self,master): self.master = master window = self.master self.master.title('Credentials Check') self.frame = Frame(window) self.Label1 = Label(window,text = 'Votercard ID:') self.Label1.pack(padx=15,pady= 5) self.entry1 = Entry(window,bd =5) self.entry1.pack(padx=15, pady=5) self.btn = Button(self.frame, text = 'Check Credentials',command = self.checker) self.btn.pack(side = RIGHT , padx =5) self.frame.pack(padx=100,pady = 19) def checker(self): voteID = self.entry1.get() df_out = pd.read_excel('/home/conan/Desktop/EVM/data.xlsx') df_out.set_index("voter_id", inplace=True) df_out.loc[voteID] global name global gender global age global house name=df_out.loc[voteID,['name_e']].tolist() gender=df_out.loc[voteID,['gender']].tolist() age=df_out.loc[voteID,['age']].tolist() house=df_out.loc[voteID,['house_no']].tolist() root3 = Toplevel(self.master) myGui2 = Proceed2(root3) # # ZME0069054 class Proceed2: def __init__(self,master): self.master = master window = self.master self.master.title('Voter Information From Database') self.frame = Frame(window) self.Label1 = Label(window,text = 'Voter Name:') self.Label1.pack(padx=15,pady= 5) self.Label2 = Label(window,text = name) self.Label2.pack(padx=30,pady= 5) self.Label3 = Label(window,text = 'Voter Age:') self.Label3.pack(padx=15,pady= 5) self.Label4 = Label(window,text = age) self.Label4.pack(padx=30,pady= 5) self.Label5 = Label(window,text = 'Voter Gender:') self.Label5.pack(padx=15,pady= 5) self.Label6 = Label(window,text = gender) self.Label6.pack(padx=30,pady= 5) self.Label7 = Label(window,text = 'Voter HouseAdd:') self.Label7.pack(padx=15,pady= 5) self.Label8 = Label(window,text = house) self.Label8.pack(padx=30,pady= 5) self.btn = Button(self.frame, text = 'Okay',command = self.send_red) self.btn.pack(side = RIGHT , padx =5) self.frame.pack(padx=100,pady = 19) def send_red(self): self.master.destroy() class Results: def __init__(self,master): self.master= master window = self.master self.master.title('Results') self.frame = Frame(window) global party global count party = ['a','b','c','d','e','f','g'] count = [1,2,3,4,5,6,7] self.btn = Button(self.frame, text = 'Statistics',command = self.stat) self.btn.pack(side = RIGHT , padx =5) self.btn2 = Button(self.frame, text = 'Winner',command = self.fetch_data) self.btn2.pack(side = RIGHT , padx =5) self.btn2 = Button(self.frame, text = 'Graph') self.btn2.pack(side = RIGHT , padx =5) self.frame.pack(padx=100,pady = 19) def fetch_data(self): root4 = Toplevel(self.master) myGui = Proceed4(root4) def stat(self): root4 = Toplevel(self.master) myGui = Proceed3(root4) class Proceed4: def __init__(self,master): self.master = master window = self.master self.master.title('Winner') self.frame = Frame(window) idx = count.index(max(count)) engine = pyttsx3.init(); rate =10 newVolume = 0.0001 def say(text): engine.say(text) engine.setProperty('voice', 0) engine.setProperty('rate', rate) engine.setProperty('volume', newVolume) engine.runAndWait() say("CONGRATULATIONS! The winner party is " + party[idx]) self.Label1 = Label(window,text = "Winner is : " + str(party[idx])) self.Label1.pack(padx=15,pady= 5) self.frame.pack(padx=100,pady = 19) class Proceed3: def __init__(self,master): self.master = master window = self.master self.master.title('Statistics') self.frame = Frame(window) self.Label1 = Label(window,text = party[0]+" : "+str(count[0])) self.Label1.pack(padx=15,pady= 5) # self.Label2 = Label(window,text = count[0]) # self.Label2.pack(padx=15,pady= 5) self.Label3 = Label(window,text = party[1]+" : "+str(count[1])) self.Label3.pack(padx=15,pady= 5) # self.Label4 = Label(window,text =count[1] ) # self.Label4.pack(padx=30,pady= 5) self.Label5 = Label(window,text = party[2]+" : "+str(count[2])) self.Label5.pack(padx=15,pady= 5) # self.Label6 = Label(window,text = count[2]) # self.Label6.pack(padx=30,pady= 5) self.Label7 = Label(window,text = party[3]+" : "+str(count[3])) self.Label7.pack(padx=15,pady= 5) # self.Label8 = Label(window,text = count[3]) # self.Label8.pack(padx=30,pady= 5) self.Label7 = Label(window,text = party[4]+" : "+str(count[4])) self.Label7.pack(padx=15,pady= 5) # self.Label8 = Label(window,text = count[4]) # self.Label8.pack(padx=30,pady= 5) self.Label7 = Label(window,text = party[5]+" : "+str(count[5])) self.Label7.pack(padx=15,pady= 5) # self.Label8 = Label(window,text = count[5]) # self.Label8.pack(padx=30,pady= 5) self.Label7 = Label(window,text = party[6]+" : "+str(count[6])) self.Label7.pack(padx=15,pady= 5) # self.Label8 = Label(window,text = count[6]) # self.Label8.pack(padx=30,pady= 5) self.btn = Button(self.frame, text = 'Okay',command = self.send_red) self.btn.pack(side = RIGHT , padx =5) self.frame.pack(padx=100,pady = 19) def send_red(self): self.master.destroy() def main(): root =Tk() auth = Auth(root) root.mainloop() if __name__ == '__main__': main()