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 also watch the video on YouTube here.
The following is the output of our program.
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()
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()