Python Tkinter Frame Widget (original) (raw)

Last Updated : 01 May, 2024

Python offers multiple options for developing GUI (Graphical User Interface). Out of all the GUI methods, Tkinter is the most commonly used method. It is a standard Python interface to the Tk GUI toolkit shipped with Python. Python with Tkinter is the fastest and easiest way to create GUI applications. Creating a GUI using Tkinter is an easy task.

**Note: For more reference, you can read our article,

  1. What is Widgets
  2. Python Tkinter Overview
  3. Python Tkinter Tutorial

What is Frame in Tkinter?

A frame is a rectangular region on the screen. A frame can also be used as a foundation class to implement complex widgets. It is used to organize a group of widgets.

Tkinter Frame Widget **Syntax

The syntax to use the frame widget is given below.

**Syntax: w = frame( master, options)

**Parameters:

Tkinter Frame Options

The following are commonly used Options that can be used with this widget:

Frame Widget in Tkinter Example

In this example, below code defines functions to create Tkinter widgets with customized options, facilitating widget creation with fewer lines of code. It generates a GUI with a main window containing a frame, labels, and buttons, all with specified options like background color, border size, cursor style, and more, enhancing visual consistency and usability.

Python3 `

import tkinter as tk

Function to create widgets with all options

def create_widget(parent, widget_type, **options): return widget_type(parent, **options)

Create the main window

window = create_widget(None, tk.Tk) window.title("GUI Example")

Create a Frame widget with all options

frame = create_widget(window, tk.Frame, bg='lightblue', bd=3, cursor='hand2', height=100, highlightcolor='red', highlightthickness=2, highlightbackground='black', relief=tk.RAISED, width=200) frame.pack(padx=20, pady=20)

Create Label widget with all options

label = create_widget(frame, tk.Label, text='GeeksForGeeks', font='50', bg='lightblue', bd=3, cursor='hand2', highlightcolor='red', highlightthickness=2, highlightbackground='black', relief=tk.RAISED) label.pack()

Create a frame for buttons

button_frame = create_widget(window, tk.Frame, bg='lightblue', bd=3, cursor='hand2', height=50, highlightcolor='red', highlightthickness=2, highlightbackground='black', relief=tk.RAISED, width=200) button_frame.pack(pady=10)

Function to create buttons with all options

def create_button(parent, text, fg): return create_widget(parent, tk.Button, text=text, fg=fg, bg='lightblue', bd=3, cursor='hand2', highlightcolor='red', highlightthickness=2, highlightbackground='black', relief=tk.RAISED)

Create buttons

buttons_info = [("Geeks1", "red"), ("Geeks2", "brown"), ("Geeks3", "blue"), ("Geeks4", "green"), ("Geeks5", "green"), ("Geeks6", "green")]

for text, fg in buttons_info: button = create_button(button_frame, text=text, fg=fg) button.pack(side=tk.LEFT)

Run the Tkinter event loop

window.mainloop()

`

**Output

Tkinter Frame Widget

Python Tkinter – Frame Widget