Python Projects (GUI)

👉 You can download the full source code of all my Python GUI projects directly from my GitHub: sonalpriyanshi529/GUI-Projects


1. PYTHON SIGN IN CODE 

from tkinter import *
from tkinter import ttk
win=Tk()

#windows size
win.geometry('240x200')
win.resizable(0,0)


#creating label
Name_Label=Label(text='Name')
Name_Label.grid(column=0,row=0,sticky=W)

Age_Label=Label(text='Age')
Age_Label.grid(column=0,row=2,sticky=W)

Email_Label=Label(text='Email')
Email_Label.grid(column=0,row=3,sticky=W)

Language_label=Label(text='Choose your Language')
Language_label.grid(column=0,row=4,sticky=W)

Genger_Label=Label(text='Who are you ?')
Genger_Label.grid(column=0,row=5,sticky=W)


#entry box and a storing variable class( StringVar() ) to store all the entries.
Name_entry=StringVar()
first=Entry(width=16, textvariable=Name_entry)
first.grid(column=1,row=0)
first.focus()

#like Name_entry, Age_entry will also store the entries as a sting variable by writing in the entry 'textvariable=Age_entry'
Age_entry=StringVar()
Entry(width=16,textvariable=Age_entry).grid(column=1,row=2)

#like Name_entry and Age_entry Email_entry will also store the entries as a sting variable by writing in the entry 'textvariable=Email_entry'
Email_entry=StringVar()
Entry(width=16,textvariable=Email_entry).grid(column=1,row=3)

#Combobox
Combo_entry=StringVar()
v=['GUJRATI','MARATHI','ENGLISH','HINDI','OTHER'] #name any variable and then write what we want to show in our combobox.
combo=ttk.Combobox(values=v,width=13,textvariable=Combo_entry,state='readonly')
combo.grid(column=1,row=4)
combo.current(4)

#radiobutton
Genger_entry=StringVar()
ttk.Radiobutton(text='Male',value='Male',variable=Genger_entry).grid(column=1,row=5,sticky=W)
ttk.Radiobutton(text='Female',value='Female',variable=Genger_entry).grid(column=1,row=6,sticky=W)
ttk.Radiobutton(text='Other',value='Other',variable=Genger_entry).grid(column=1,row=7,sticky=W)

#CheckButton
Subscribe_Entry=IntVar()
ttk.Checkbutton(text='Do you want to Subscribe',variable=Subscribe_Entry).grid(columnspan=3,row=8,sticky=W)

#button (sign in)
def action():
a=Name_entry.get()
b=Age_entry.get()
c=Email_entry.get()
d=Combo_entry.get()
e=Genger_entry.get()

if Subscribe_Entry.get()==0:
subscribed = 'No'
else:
subscribed='Yes'

with open('file.txt','a') as f:
f.write(f'Username = {a}, Age = {b}, Email = {c}, Language = {d}, Gender = {e}, Submit = {subscribed}.\n')
Button(text='SUBMIT',command=action).grid(column=1,row=11,sticky=EW)

win.mainloop()


2. Python Simple 

Calculator Code


from tkinter import *
win=Tk()
win.resizable(0,0)
win.title('Priyanshi Calculator')

Label(text='PRIYANSHI CALCULATOR',font=('arial bold',30)).grid(column=0,row=0)
Label(text='Enter your equation',font=20,pady=20).grid(column=0,row=1)

Equation=StringVar()
Entry_box=Entry(textvariable=Equation,font=('lucida',20))
Entry_box.grid(column=0,row=2)
Entry_box.focus()

def solve():
try:
a=eval(Equation.get())
return Label(text=a ,font=('arialbold',20) ,bg='deeppink',fg='white').grid(column=0,row=4,sticky=EW)
except Exception as e:
return Label(text='ERROR' ,font=('arialbold',20) ,bg='deeppink',fg='white').grid(column=0,row=4,sticky=EW)

Button(text='SOLVE',command=solve,bg='purple',fg='pink',font=(100)).grid(column=0,row=3,sticky=EW)


win.mainloop()


3. Shut Down PC 

Code

This code will not work in pyroid 3 try pycharm , Visual Studio code

from tkinter import *
from tkinter import ttk
win=Tk()
win.title('Shut Down Windows-Priyanshi sahu')
win.geometry('460x270')
win.resizable(0,0)

photo=PhotoImage(file='Windows.png')
Label(image=photo,height=100,width=100).grid(column=0,row=0)

Label(text='Windows 10',font=('arialbold',40),fg='darkblue').grid(column=1,row=0)

photo11=PhotoImage(file='This PC.png')
Label(image=photo11).grid(column=0,row=1)

Label(text='What do you want the computer to do ?').grid(column=1,columnspan=2,row=1,sticky=W)

Combo_var=StringVar()
v=['Shut down','Restart','Log Off']
combo=ttk.Combobox(values=v,width=40,state='readonly',textvariable=Combo_var)
combo.grid(column=1,columnspan=2,row=2,sticky=W)
combo.current(0)

Label(text='Closes all apps and turn off the PC. ').grid(column=1,columnspan=1,row=3,sticky=W)

def action():
a=Combo_var.get()
if a== 'Shut down':
import os
os.system('shutdown /s /t 8')
if a== 'Restart':
import os
os.system('shutdown /r /t 8')
if a=='Log Off':
import os
os.system('shutdown /l/t 8')


Button(win,text='Ok',command=action).grid(column=0,row=4,ipadx=22,padx=5,pady=22)

def cancel():
exit()
Button(win,text='Cancel',command=cancel).grid(column=1,row=4,ipadx=15,padx=5,sticky=W)

def helping():
top=Toplevel()
top.geometry('300x150')
top.title('Help')
top.resizable(0,0)

f1=Frame(top,borderwidth=6,bg= 'black')
f1.pack(side=TOP,fill='x')

Label(f1,text='Welcome to help',fg='white',bg= 'black').pack()
Label(f1,text='You can shutdown, restart and logoff your PC here.',fg='white',bg= 'black').pack()
Label(f1,text='By Priyanshi Sahu',fg='white',bg= 'black',font=('Comic Sans MS',20)).pack()
Label(f1,fg='white',bg= 'black').pack()
Button(f1,text='OK',fg='white',bg= 'purple',command=top.destroy).pack(ipadx=20)
Label(f1,fg='white',bg= 'black',font=('Comic Sans MS',20)).pack()

Button(win,text='Help',command=helping).grid(column=1,row=4,ipadx=20)


win.mainloop()

4. Advance Button 

Calculator Code

from tkinter import *
win=Tk()
win.title('Priyanshi Calculator')
win.geometry('228x486')
win.resizable(0,0)

#Entry Box
Entry_box=Entry(width=8,font=('Arial bold',30),borderwidth=15)
Entry_box.grid(columnspan=100,row=0)


#Functions of number buttons
def seven():
a=Entry_box.get()
Entry_box.delete(0,END)
Entry_box.insert(0,a+'7')

def eight():
b=Entry_box.get()
Entry_box.delete(0,END)
Entry_box.insert(0,b+'8')

def nine():
a=Entry_box.get()
Entry_box.delete(0,END)
Entry_box.insert(0,a+'9')

def four():
b=Entry_box.get()
Entry_box.delete(0,END)
Entry_box.insert(0,b+'4')

def five():
a=Entry_box.get()
Entry_box.delete(0,END)
Entry_box.insert(0,a+'5')

def six():
b=Entry_box.get()
Entry_box.delete(0,END)
Entry_box.insert(0,b+'6')

def one():
a=Entry_box.get()
Entry_box.delete(0,END)
Entry_box.insert(0,a+'1')

def two():
b=Entry_box.get()
Entry_box.delete(0,END)
Entry_box.insert(0,b+'2')

def three():
b=Entry_box.get()
Entry_box.delete(0,END)
Entry_box.insert(0,b+'3')

def zero():
b=Entry_box.get()
Entry_box.delete(0,END)
Entry_box.insert(0,b+'0')


#Function of operator Buttons
def AC():
Entry_box.delete(0,END)

def mul():
b=Entry_box.get()
Entry_box.delete(0,END)
Entry_box.insert(0,b+'*')

def add():
b=Entry_box.get()
Entry_box.delete(0,END)
Entry_box.insert(0,b+'+')

def sub():
b=Entry_box.get()
Entry_box.delete(0,END)
Entry_box.insert(0,b+'-')

def B():
b=Entry_box.get()
a=len(b)
a=a-1
Entry_box.delete(a,END)

def div():
b=Entry_box.get()
Entry_box.delete(0,END)
Entry_box.insert(0,b+'/')

def ans():

try:
b=eval(Entry_box.get())
Entry_box.delete(0,END)
return Entry_box.insert(0,b)
except:
Entry_box.delete(0,END)
return Entry_box.insert(0,'ERROR')


#All the buttons
Button(text='AC',command=AC,font=('Arial bold',19),pady=15).grid(column=0,row=1,sticky=W)
Button(text='←',command=B,font=('Arial bold',30),padx=22).grid(column=1,row=1,sticky=W,columnspan=2)
Button(text='÷',command=div,font=('Arial bold',27),pady=5).grid(column=3,row=1,sticky=W)

Button(text='7',command=seven,font=('Arial bold',30)).grid(column=0,row=2,sticky=W)
Button(text='8',command=eight,font=('Arial bold',30)).grid(column=1,row=2,sticky=W)
Button(text='9',command=nine,font=('Arial bold',30)).grid(column=2,row=2,sticky=W)
Button(text='*',command=mul,font=('Arial bold',30)).grid(column=3,row=2,sticky=W)

Button(text='4',command=four,font=('Arial bold',30)).grid(column=0,row=3,sticky=W)
Button(text='5',command=five,font=('Arial bold',30)).grid(column=1,row=3,sticky=W)
Button(text='6',command=six,font=('Arial bold',30)).grid(column=2,row=3,sticky=W)
Button(text='+',command=add,font=('Arial bold',26),pady=6).grid(column=3,row=3,sticky=W)

Button(text='1',command=one,font=('Arial bold',30)).grid(column=0,row=4,sticky=W)
Button(text='2',command=two,font=('Arial bold',30)).grid(column=1,row=4,sticky=W)
Button(text='3',command=three,font=('Arial bold',30)).grid(column=2,row=4,sticky=W)
Button(text='-',command=sub,font=('Arial bold',30),padx=3).grid(column=3,row=4,sticky=W)

Button(text='0',command=zero,font=('Arial bold',30)).grid(column=0,row=5,sticky=W)
Button(text='=',command=ans,font=('Arial bold',30),padx=57,bg='pink').grid(column=1,row=5,sticky=W,columnspan=10)

win.mainloop()

5. Stone, Paper, Scissor 

Game

This code will not work in pyroid 3 try pycharm , Visual Studio code

from playsound import playsound
from tkinter import *
import random
win = Tk()
win.title('Stone Paper Scissor Game')
win.geometry('530x500')

scores = 0
comp_scores = 0

value = ['👊','📄','']

# comp = random.choice(value)

Label(text='', font=('Arial bold', 100)).grid(column=0, row=1,ipadx=80)
Label(text='',font=('Arial bold' ,10)).grid(column=0,row=4)
Label(text='',font=('Arial bold' ,60)).grid(column=0,row=5)
Label(text='').grid(column=0,row=9)

def exiting():
top = Toplevel()
top.geometry('350x150')
top.title('Conclusion')
#top.resizable(0, 0)

def ok():
exit()
if scores<comp_scores:
Label(top,text='Comp Win',font=('Arial Bold',50),bg='black',fg='white').grid(column=0,row=0)
Label(top, text='', ).grid(column=0, row=1)
Button(top,text='ok',padx=20,command=ok).grid(column=0,row=2)
Label(top, text='sonal', font=('Arial Bold', 50), bg='black').grid(column=1, row=0)

elif scores>comp_scores:
Label(top, text='You Win', font=('Arial Bold', 50), bg='black', fg='white').grid(column=0, row=0)
Label(top, text='', ).grid(column=0, row=1)
Button(top, text='ok', padx=20,command=ok).grid(column=0, row=2)
Label(top, text='sonal', font=('Arial Bold', 50), bg='black').grid(column=1, row=0)

else:
Label(top, text='Match Tie', font=('Arial Bold', 50), bg='black', fg='white').grid(column=0, row=0)
Label(top, text='', ).grid(column=0, row=1)
Button(top, text='ok', padx=20, command=ok).grid(column=0, row=2)
Label(top, text='sonal', font=('Arial Bold', 50), bg='black').grid(column=1, row=0)


Button(text='Exit',padx=20,font=('Arial Bold',10),command=exiting).grid(column=0,row=10,columnspan=3)

Label(text='Start the game',font=('Calisto MT',40),bg='deeppink',fg='white',padx=90).grid(column=0,row=5,columnspan=3)

def stone ():
global scores
global comp_scores
comp = random.choice(value)
# playsound('zapsplat_multimedia_game_sound_water_drip_processed_single_002_58758.mp3')
if comp =='👊':
a=Label(text='👊', font=('Arial bold', 100),fg='red').grid(column=0, row=1)
b=Label(text=comp,font=('Arial bold',100),fg='blue').grid(column=2,row=1)
c=Label(text='/', font=('Arial bold', 100)).grid(column=1, row=1)
ans=Label(text='Match tie',font=('Calisto MT',40),bg='deeppink',fg='white',padx=90).grid(column=0,row=5,columnspan=3)
return a,b,c,ans

if comp =='📄':
a=Label(text='👊', font=('Arial bold', 100),fg='red').grid(column=0, row=1)
b=Label(text=comp,font=('Arial bold',100),fg='blue').grid(column=2,row=1)
c=Label(text='/', font=('Arial bold', 100)).grid(column=1, row=1)
ans=Label(text='Comp Win',font=('Calisto MT',40),bg='deeppink',fg='white',padx=90).grid(column=0,row=5,columnspan=3)
comp_scores = comp_scores + 10
comp_sco = Label(text=f'Computer Score {comp_scores}', font=('Arial Bold', 10), padx=90,fg='blue').grid(column=0, row=8, columnspan=3)
return a,b,c,ans,comp_sco

if comp =='':
a=Label(text='👊', font=('Arial bold', 100),fg='red').grid(column=0, row=1)
b=Label(text=comp,font=('Arial bold',90),fg='blue').grid(column=2,row=1)
c=Label(text='/', font=('Arial bold', 100)).grid(column=1, row=1)
ans=Label(text='You Win',font=('Calisto MT',40),bg='deeppink',fg='white',padx=90).grid(column=0,row=5,columnspan=3)
scores = scores+10
sco=Label(text=f'Your Score { scores}',font=('Arial Bold',10),padx=90,fg='red').grid(column=0,row=7,columnspan=3)
return a,b,c,ans,sco

Button(text='👊',font=('Arial bold',40),command=stone,border=5,relief=GROOVE).grid(column=0,row=2)





def paper ():
global scores
global comp_scores
comp = random.choice(value)
# playsound('G:\sonal coding\PYTHON PROJECTS\GUI\Projects\zapsplat_multimedia_game_sound_water_drip_processed_single_002_58758.mp3')
if comp =='👊':
a=Label(text='📄', font=('Arial bold', 100),fg='red').grid(column=0, row=1)
b=Label(text=comp,font=('Arial bold',100),fg='blue').grid(column=2,row=1)
c=Label(text='/', font=('Arial bold', 100)).grid(column=1, row=1)
ans=Label(text='You Win',font=('Calisto MT',40),bg='deeppink',fg='white',padx=90).grid(column=0,row=5,columnspan=3)
scores = scores + 10
sco = Label(text=f'Your Score {scores}', font=('Arial Bold', 10), padx=90,fg='red').grid(column=0, row=7, columnspan=3)
return a, b, c, ans, sco

if comp =='📄':
a=Label(text='📄', font=('Arial bold', 100),fg='red').grid(column=0, row=1)
b=Label(text=comp,font=('Arial bold',100),fg='blue').grid(column=2,row=1)
c=Label(text='/', font=('Arial bold', 100)).grid(column=1, row=1)
ans=Label(text='Match Tie',font=('Calisto MT',40),bg='deeppink',fg='white',padx=90).grid(column=0,row=5,columnspan=3)
return a,b,c,ans

if comp =='':
a=Label(text='📄', font=('Arial bold', 100),fg='red').grid(column=0, row=1)
b=Label(text=comp,font=('Arial bold',90),fg='blue').grid(column=2,row=1)
c=Label(text='/', font=('Arial bold', 100)).grid(column=1, row=1)
ans=Label(text='Comp Win',font=('Calisto MT',40),bg='deeppink',fg='white',padx=90).grid(column=0,row=5,columnspan=3)
comp_scores = comp_scores + 10
comp_sco = Label(text=f'Computer Score {comp_scores}', font=('Arial Bold', 10), padx=90,fg='blue').grid(column=0, row=8,columnspan=3)
return a, b, c, ans, comp_sco

Button(text='📄',font=('Arial bold',40),command=paper,border=5,relief=GROOVE).grid(column=1,row=2,sticky=W)





def scissor ():
global scores
global comp_scores
comp = random.choice(value)
# playsound('G:\sonal coding\PYTHON PROJECTS\GUI\Projects\zapsplat_multimedia_game_sound_water_drip_processed_single_002_58758.mp3')
if comp =='👊':
a=Label(text='', font=('Arial bold', 100),fg='red').grid(column=0, row=1)
b=Label(text=comp,font=('Arial bold',100),fg='blue').grid(column=2,row=1)
c=Label(text='/', font=('Arial bold', 100)).grid(column=1, row=1)
ans=Label(text='Comp Win',font=('Calisto MT',40),bg='deeppink',fg='white',padx=90).grid(column=0,row=5,columnspan=3)
comp_scores = comp_scores + 10
comp_sco = Label(text=f'Computer Score {comp_scores}', font=('Arial Bold', 10), padx=90,fg='blue').grid(column=0, row=8,columnspan=3)
return a, b, c, ans, comp_sco

if comp =='📄':
a=Label(text='', font=('Arial bold', 100),fg='red').grid(column=0, row=1)
b=Label(text=comp,font=('Arial bold',100),fg='blue').grid(column=2,row=1)
c=Label(text='/', font=('Arial bold', 100)).grid(column=1, row=1)
ans=Label(text='You Win',font=('Calisto MT',40),bg='deeppink',fg='white',padx=90).grid(column=0,row=5,columnspan=3)
scores = scores+10
sco = Label(text=f'Your Score {scores}', font=('Arial Bold', 10),padx=90,fg='red').grid(column=0, row=7, columnspan=3)
return a, b, c, ans, sco

if comp =='':
a=Label(text='', font=('Arial bold', 100),fg='red').grid(column=0, row=1)
b=Label(text=comp,font=('Arial bold',90),fg='blue').grid(column=2,row=1)
c=Label(text='/', font=('Arial bold', 100)).grid(column=1, row=1)
ans=Label(text='Match Tie',font=('Calisto MT',40),bg='deeppink',fg='white',padx=90).grid(column=0,row=5,columnspan=3)
return a,b,c,ans

Button(text='',font=('Arial bold',40),command=scissor,border=5,relief=GROOVE).grid(column=2,row=2,sticky=W,padx=30)

win.mainloop()

5. Combo Calci

from tkinter import *
from tkinter import ttk

win = Tk()

f1 = Frame(win)
f1.grid(column=0, row=0)

l1 = Label(f1, text='Enter First Number', font=('arial bold', 20), fg='blue')
l1.grid(column=0, row=0, sticky=W, padx=10)

var1 = StringVar()
a = Entry(f1, font=('arial bold', 20), textvariable=var1)
a.grid(column=0, row=1, padx=10)

l2 = Label(f1, text='', font=('arial bold', 30))
l2.grid(column=0, row=2)

l3 = Label(f1, text='Enter Second Number', font=('arial bold', 20), fg='blue')
l3.grid(column=0, row=3, sticky=W, padx=10)

var2 = StringVar()
c = Entry(f1, font=('arial bold', 20), textvariable=var2)
c.grid(column=0, row=4, sticky=W, padx=10)

Label(f1, text='', font=('arial bold', 30)).grid(column=1, row=0)

f2 = Frame(win)
f2.grid(column=4, row=0, padx=50)

all_var = StringVar()
r1 = ttk.Radiobutton(f2, text='addition', variable=all_var, value='add')
r1.grid(column=1, row=0, sticky=W)

r1 = ttk.Radiobutton(f2, text='subtract', variable=all_var, value='sub')
r1.grid(column=1, row=2, sticky=W)

r1 = ttk.Radiobutton(f2, text='multiply', variable=all_var, value='mul')
r1.grid(column=1, row=3, sticky=W)

r1 = ttk.Radiobutton(f2, text='divide', variable=all_var, value='div')
r1.grid(column=1, row=4, sticky=W)


def action():
if all_var.get() == 'add':
q = var1.get()
w = var2.get()
dd = int(q) + int(w)
return Label(text=dd, font=('Cambria', 30), bg='deeppink', fg='white', padx=100).grid(column=0, row=6)

elif all_var.get() == 'sub':
q = var1.get()
w = var2.get()
dd = int(q) - int(w)
return Label(text=dd, font=('Cambria', 30), bg='deeppink', fg='white', padx=100).grid(column=0, row=6)

elif all_var.get() == 'mul':
q = var1.get()
w = var2.get()
dd = int(q) * int(w)
return Label(text=dd, font=('Cambria', 30), bg='deeppink', fg='white', padx=100).grid(column=0, row=6)

elif all_var.get() == 'div':
q = var1.get()
w = var2.get()
dd = int(q) / int(w)
return Label(text=dd, font=('Cambria', 30), bg='deeppink', fg='white', padx=100).grid(column=0, row=6)


Button(f1, text='Solve', padx=50, command=action).grid(column=0, row=5, pady=20)
win.mainloop()

Comments

Popular posts from this blog

GUI Lessons (full course) with codes.

Turtle Graphics (full Course) with codes