Lecture : Hello world in Tkinter
from tkinter import *
root=Tk()
root.mainloop()
from tkinter import *
root=Tk()
hello = Label(root,text="hello world")
hello.pack()
root.mainloop()
root.geometry("300x400")
Lecture : Understanding Tkinter widgets.
hello = Label(root,text="hello world",font=("Arial", 16), fg="red", bg="white")
Lecture : Button widget
button = Button(root,text="Click here")
button.pack()
button = Button(root,text="Click here",command=display)
def display():
print('This is a display message')
Lecture : Accepting user Input
from tkinter import *
def display():
print(entry.get())
root=Tk()
hello = Label(root,text="Enter some text")
hello.pack()
entry = Entry(root)
entry.pack()
button = Button(root,text="Click here",command=display)
button.pack()
root.geometry("300x400")
root.mainloop()
Lecture : Adding two numbers
from tkinter import *
def add():
n1 = int(number1.get())
n2 = int(number2.get())
print(n1+n2)
root=Tk()
hello = Label(root,text="Enter some text")
hello.pack()
number1 = Entry(root)
number1.pack()
number2= Entry(root)
number2.pack()
button = Button(root,text="Click here",command=add)
button.pack()
root.geometry("300x400")
root.mainloop()
from tkinter import *
def add():
n1 = int(number1.get())
n2 = int(number2.get())
result = str(n1+n2)
answer.config(text="Answer is: "+ result)
root=Tk()
hello = Label(root,text="Enter some text")
hello.pack()
number1 = Entry(root)
number1.pack()
number2= Entry(root)
number2.pack()
button = Button(root,text="Click here",command=add)
button.pack()
answer = Label(root)
answer.pack()
root.geometry("300x400")
root.mainloop()
Lecture : Checkboxes
from tkinter import *
def selected():
label.config(text=var.get())
root=Tk()
var = BooleanVar()
checkbox = Checkbutton(root,text ="Accept terms", variable=var, command=selected)
checkbox.pack()
label=Label(root)
label.pack()
root.geometry("300x400")
root.mainloop()
from tkinter import *
def selected():
sugar = sugar_var.get()
ice = ice_var.get()
cream = cream_var.get()
if sugar:
sugar="sugar"
else:
sugar = "no sugar"
if ice:
ice="ice"
else:
ice = "no ice"
if cream:
cream="cream"
else:
cream = "no cream"
print(sugar)
label.config(text="Options selected are: " + "\\n"+ sugar + "\\n"+ ice + "\\n"+ cream)
root=Tk()
sugar_var = BooleanVar()
ice_var = BooleanVar()
cream_var = BooleanVar()
sugar_checkbox = Checkbutton(root,text ="Sugar", variable=sugar_var, command=selected)
sugar_checkbox.pack()
ice_checkbox = Checkbutton(root,text ="Ice", variable=ice_var, command=selected)
ice_checkbox.pack()
cream_checkbox = Checkbutton(root,text ="Cream", variable=cream_var, command=selected)
cream_checkbox.pack()
label=Label(root)
label.pack()
root.geometry("300x400")
root.mainloop()
Lecture : Radiobuttons
from tkinter import *
def selected():
label.config(text="Choice of fuel is: " + fuel.get())
root=Tk()
# Create a variable to store radiobutton state
fuel =StringVar(value="Petrol")
radio1 = Radiobutton(root,text="Petrol" ,value="Petrol", variable=fuel, command=selected)
radio2 = Radiobutton(root,text="Diesel" ,value="Diesel",variable=fuel, command=selected)
radio3 = Radiobutton(root,text="Electric" ,value="Electric",variable=fuel, command=selected)
label = Label(root)
label.pack()
radio1.pack()
radio2.pack()
radio3.pack()
root.geometry("300x400")
root.mainloop()
Lecture : Frames
from tkinter import *
root=Tk()
root.geometry("300x400")
root.mainloop()
from tkinter import *
root=Tk()
# create a frame object
frame = Frame(root)
frame.pack()
#now let's create another frame
frame2 = Frame(root)
frame2.pack()
#now let's create some widgets and add them to a frame
# instead of adding it to the root window, we will pass frame here
button1 = Button(frame,text="Button1")
button2 = Button(frame2,text="button2")
# we still need to pack these buttons
button1.pack()
button2.pack()
root.geometry("300x400")
root.mainloop()
frame2.pack(side=BOTTOM)
Lecture : Grid layout manager
from tkinter import *
root=Tk()
label1 = Label(root,text='Email')
label2 = Label(root,text="Password")
text1 = Entry(root)
text2 = Entry(root)
label1.grid(row=0,column=0)
label2.grid(row=1,column=0)
text1.grid(row=0,column=1)
text2.grid(row=1,column=1)
button = Button(root,text='Login')
button.grid(row=2,column=1)
root.geometry("300x400")
root.mainloop()
Lecture : Using grid layout manager with frames.
from tkinter import *
root=Tk()
for x in range(3):
for y in range(3):
frame = Frame(root)
frame.grid(row=x,column=y)
button = Button(frame,text=f"Row{x} \\n Column{y}")
button.pack()
root.mainloop()
button.pack(padx=5,pady=5)
Lecture : Writing Tkinter code the OOP way.
from tkinter import *
class Demo:
def __init__(self,rootone):
frame = Frame(rootone)
frame.pack()
#as this is a class instead of saying printbutton we use self
self.printbutton = Button(frame,text='Click Here',command=self.printmessage)
self.printbutton.pack()
self.quitbutton = Button(frame,text='Exit',command=frame.quit)
self.quitbutton.pack()
def printmessage(self):
print("Button Clicked!")
root=Tk()
b = Demo(root)
root.mainloop()
Lecture : Drop down menus
from tkinter import *
def function1():
print('Menu item clicked')
root=Tk()
mymenu = Menu(root)
root.config(menu=mymenu)
submenu = Menu(mymenu)
mymenu.add_cascade(label="File",menu=submenu)
submenu.add_command(label="Project",command=function1)
submenu.add_command(label="Save",command=function1)
root.mainloop()
Lecture : Adding statusbar
status = Label(root,text="This is the status",bd=1,relief=SUNKEN,anchor=W)
status.pack(side=BOTTOM,fill=X)
Lecture : Toolbar
toolbar = Frame(root,bg='green')
insertbutton = Button(toolbar,text='Insert Files',command=function1)
insertbutton.pack(side=LEFT,padx=2,pady=3)
printbutton = Button(toolbar,text='Print ',command=function1)
printbutton.pack(side=LEFT,padx=2,pady=3)
Lecture 17: Messagebox
import tkinter.messagebox
from tkinter import *
root=Tk()
tkinter.messagebox.showinfo("Title","This is a messagebox")
#ask question inside a messagebox
response = tkinter.messagebox.askquestion("Question1","Do you like coffee")
if response=="yes":
print('Here is a coffee for you')
root.mainloop()