Introduction to Python GUI – Labels, Frames, Buttons

Hello everybody to programminginpython.com, welcome to the very first post on Python GUI (Graphical User Interface).

Here we use TKInter which is a standard GUI package for python.

I will create a simple python GUI app which includes frames, labels, and a button.

Frame is an important widget for grouping parts of the User Interface(UI) together.

You can watch the video on YouTube here.

Program on Github

The following is the output of our program.

Intro to Python GUI - programminginpython.com
Intro to Python GUI – programminginpython.com

Here I used three frames one is set to top other to bottom and middle frame to the right side.

Used a label in each frame and a button in the bottom frame.

Before doing all these, we need to import and initialize TkInter.

from tkinter import *

root = Tk()

GUI widget – Frame

someFrame = Frame(root)
someFrame.pack(side=TOP)

Here I used `pack()` function which automatically sets the widget according to the space available.

We can set the position of the frame using side parameter for pack() function.

GUI widget – Label

someLabel = Label(someFrame, text="Welcome to programminginpython.com")
someLabel.pack()

Here I set a label to a frame, and its text by passing parameters to Label() function.

GUI widget – Button

theButton = Button(someFrame, text="Button", fg="red", bg="black")
theButton.pack()

Here we can set different attributes to button like its text, background and foreground colors.

We can also set the size of the window,

root.minsize(400, 400)

Finally, we run mainloop() so that our application won’t stop immediately after execution.

root.mainloop()

Program on Github

Complete Code

from tkinter import *

root = Tk()
topFrame = Frame(root)
topFrame.pack(side=TOP)

middleFrame = Frame(root)
middleFrame.pack(side=RIGHT)

bottomFrame = Frame(root, bg="green")
bottomFrame.pack(side=BOTTOM)

topFrame_Label = Label(topFrame, text="Welcome to Python GUI(Top Frame)")
topFrame_Label.pack()

middleFrame_Label = Label(middleFrame, text="Welcome to Python GUI(Middle Frame)")
middleFrame_Label.pack()

bottomFrame_Label = Label(bottomFrame, text="Welcome to Python GUI(Bottom Frame)")
bottomFrame_Label.pack()
theButton = Button(bottomFrame, text="Button", fg="red", bg="black")
theButton.pack()
root.minsize(400, 400)
root.mainloop()

Program on Github

Leave a Reply

Your email address will not be published. Required fields are marked *