Python programming
PDF_CODE
HIT137 Software Now
Week 10
from tkinter import *
root = Tk() # creates a blank window
theLabel = Label(root, text="Our first GUI \n Developed by Tkinter")
theLabel.pack() # basically places this widget inside the window
root.mainloop() # keeps the window open, the close button breaks the loop
from tkinter import *
root = Tk()
# Frame is a rectangular area that can contain other widgets
topFrame = Frame(root)
topFrame.pack()
bottomFrame = Frame(root)
bottomFrame.pack(side=BOTTOM)
button1 = Button(topFrame, text="Button 1", fg="red")
button2 = Button(topFrame, text="Button 2", fg="blue")
button3 = Button(topFrame, text="Button 3", fg="green")
button4 = Button(bottomFrame, text="Button 4", fg="purple")
# These buttons will be on top
button1.pack(side=LEFT) # place as far left as possible
button2.pack(side=LEFT)
button3.pack(side=LEFT)
# Button 4 is on the bottom
button4.pack(side=BOTTOM)
root.mainloop()
from tkinter import *
root = Tk()
one = Label(root, text="One", bg="red", fg="white")
one.pack()
two = Label(root, text="Two", bg="green", fg="black")
two.pack(fill=X) # fill=X - makes the widget as wide as the parent
three = Label(root, text="Three", bg="blue", fg="white")
three.pack(side=LEFT, fill=Y)
root.mainloop()
from tkinter import *
root = Tk()
label_1 = Label(root, text="Name")
label_2 = Label(root, text="Password")
entry_1 = Entry(root)
entry_2 = Entry(root)
# widgets centered by default, sticky option to change
label_1.grid(row=0, sticky=E)
label_2.grid(row=1, sticky=E)
entry_1.grid(row=0, column=1)
entry_2.grid(row=1, column=1)
# widgets can take up more than one cell with columnspan and rowspan
c = Checkbutton(root, text="Keep me logged in")
c.grid(columnspan=2)
root.mainloop()
from tkinter import *
root = Tk()
def printName(event):
print("Programming is fun")
button_1 = Button(root, text="Print Message")
# <Button-1> is an event that means "clicked left mouse button"
button_1.bind("<Button-1>", printName)
button_1.pack()
root.mainloop()
from tkinter import *
root = Tk()
def leftClick(event):
print("Left")
def middleClick(event):
print("Middle")
def rightClick(event):
print("Right")
frame = Frame(root, width=300, height=200)
# Event is something the user does to the widget, function that gets called
frame.bind("<Button-1>", leftClick)
frame.bind("<Button-2>", middleClick)
frame.bind("<Button-3>", rightClick)
frame.pack()
root.mainloop()
from tkinter import *
class BuckysButtons:
def __init__(self, master):
frame = Frame(master)
frame.pack()
self.printButton = Button(frame, text="Print Message",
command=self.printMessage)
self.printButton.pack(side=LEFT)
self.quitButton = Button(frame, text="Quit", command=frame.quit)
self.quitButton.pack(side=LEFT)
def printMessage(self):
print("Wow, this actually worked!")
root = Tk()
b = BuckysButtons(root)
root.mainloop()
from tkinter import *
def doNothing():
print("Do nothing...")
root = Tk()
menu = Menu(root)
root.config(menu=menu)
subMenu = Menu(menu)
menu.add_cascade(label="File", menu=subMenu)
subMenu.add_command(label="New Project", command=doNothing)
subMenu.add_command(label="New...", command=doNothing)
subMenu.add_separator()
subMenu.add_command(label="Exit", command=doNothing)
editMenu = Menu(menu)
menu.add_cascade(label="Edit", menu=editMenu)
editMenu.add_command(label="Redo", command=doNothing)
root.mainloop()
from tkinter import *
def doNothing():
print("Do nothing")
root = Tk()
# ***** Main Menu *****
menu = Menu(root)
root.config(menu=menu)
subMenu = Menu(menu)
menu.add_cascade(label="File", menu=subMenu)
subMenu.add_command(label="New Project", command=doNothing)
subMenu.add_command(label="New...", command=doNothing)
subMenu.add_separator()
subMenu.add_command(label="Exit", command=doNothing)
editMenu = Menu(menu)
menu.add_cascade(label="Edit", menu=editMenu)
editMenu.add_command(label="Redo", command=doNothing)
# ***** The Toolbar *****
toolbar = Frame(root, bg="blue")
insertButt = Button(toolbar, text="Insert Image", command=doNothing)
insertButt.pack(side=LEFT, padx=2, pady=2)
printButt = Button(toolbar, text="Print", command=doNothing)
printButt.pack(side=LEFT, padx=2, pady=2)
toolbar.pack(side=TOP, fill=X)
root.mainloop()
from tkinter import *
def doNothing():
print("Do nothing")
root = Tk()
# ***** Main Menu *****
menu = Menu(root)
root.config(menu=menu)
subMenu = Menu(menu)
menu.add_cascade(label="File", menu=subMenu)
subMenu.add_command(label="New Project", command=doNothing)
subMenu.add_command(label="New...", command=doNothing)
subMenu.add_separator()
subMenu.add_command(label="Exit", command=doNothing)
editMenu = Menu(menu)
menu.add_cascade(label="Edit", menu=editMenu)
editMenu.add_command(label="Redo", command=doNothing)
# ***** The Toolbar *****
toolbar = Frame(root, bg="blue")
insertButt = Button(toolbar, text="Insert Image", command=doNothing)
insertButt.pack(side=LEFT, padx=2, pady=2)
printButt = Button(toolbar, text="Print", command=doNothing)
printButt.pack(side=LEFT, padx=2, pady=2)
toolbar.pack(side=TOP, fill=X)
# ***** Status Bar *****
status = Label(root, text="Preparing to do nothing...", bd=10, relief=GROOVE,
anchor=W)
status.pack(side=BOTTOM, fill=X)
from tkinter import *
import tkinter.messagebox
root = Tk()
tkinter.messagebox.showinfo('Window Title', 'Subject Code')
answer = tkinter.messagebox.askquestion('Question 1', 'Do you want to display
your subject code')
if answer == 'yes':
print("HIT 137")
root.mainloop()
Run it and see the output
from tkinter import *
root = Tk()
photo = PhotoImage(file="test.png")
label = Label(root, image=photo)
label.pack()
root.mainloop()