Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Revision 0:96d6bd6c646f, committed 2018-11-22
- Comitter:
- priyanshu_varshney
- Date:
- Thu Nov 22 22:32:42 2018 +0000
- Commit message:
- GUI for the EVM
Changed in this revision
| GUI.py | Show annotated file Show diff for this revision Revisions of this file |
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/GUI.py Thu Nov 22 22:32:42 2018 +0000
@@ -0,0 +1,250 @@
+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()
\ No newline at end of file