Md. Fahim Bin Amin
Posted on December 22, 2023
You can create GUI (Graphical User Interface) based applications using Tkinter (Tkinter is a graphical user interface (GUI) library for Python scripts. It's the only framework built into the Python standard library and is included in all standard Python distributions). In this article, I will show you how you can create a very basic simple GUI window in Python just using a few lines of code. I have also created a video for you! 😊
Video Tutorial
This Python script creates a basic graphical user interface (GUI) application using tkinter
, a standard GUI toolkit in Python.
Code
import tkinter as tk
import tkinter.font as tkFont
class App:
def init(self, root):
# Setting the title
root.title('My First GUI Window')
# Setting the window size
height = 720
width = 1280
screenheight = root.winfo_screenheight()
screenwidth = root.winfo_screenwidth()
alignstr = '%dx%d+%d+%d' % (width, height, (screenwidth - width)/2, (screenheight - height)/2)
root.geometry(alignstr)
root.resizable(width = False, height = False)
if name == "main":
root = tk.Tk()
app = App(root)
root.mainloop()
Output
Let's break down the script:
Import Statements
-
import tkinter as tk
: Imports thetkinter
module and gives it an aliastk
. This module provides classes and methods to create GUI elements. -
import tkinter.font as tkFont
: Imports thefont
submodule fromtkinter
. It's used to deal with fonts, though it's not explicitly used in this script.
Class Definition: App
-
class App:
: Defines a new classApp
, which will contain the components of the GUI.
Constructor: __init__
-
def __init__(self, root):
: The constructor of theApp
class. It initializes a new instance of the class.root
is the main window of the application, typically an instance ofTk
.
Inside the Constructor
Setting Title:
root.title("undefined")
: Sets the title of the window to "undefined".-
Setting Window Size:
-
width=600
andheight=500
: Sets the width and height of the window in pixels. -
screenwidth = root.winfo_screenwidth()
andscreenheight = root.winfo_screenheight()
: Retrieves the width and height of the screen. -
alignstr = '%dx%d+%d+%d' % (width, height, (screenwidth - width) / 2, (screenheight - height) / 2)
: Creates a string to specify the size and position of the window. It centers the window on the screen. -
root.geometry(alignstr)
: Applies the size and position settings to the window. -
root.resizable(width=False, height=False)
: Disables resizing of the window.
-
Main Block
-
if __name__ == "__main__":
: Checks if the script is being run directly (not imported as a module).-
root = tk.Tk()
: Creates the main window (root
) of the application. -
app = App(root)
: Instantiates theApp
class withroot
as the argument. -
root.mainloop()
: Starts the main event loop of the program. This keeps the window open and waits for user interaction.
-
Limitations and Further Development
- The script only sets up a window without any widgets (like buttons, labels, or text fields).
- To make it a functional application, you would need to add widgets inside the
App
class. - The script also does not handle any events or user interactions.
This is a foundational script for a tkinter application, providing a window setup, but it lacks the interactive components typical of GUI applications.
I will try to make more videos and articles on Python Tkinter-based projects later.
Posted on December 22, 2023
Join Our Newsletter. No Spam, Only the good stuff.
Sign up to receive the latest update from our blog.