w3resource

Python GUI Program: Creating a tabbed interface with Tkinter

Python tkinter widgets: Exercise-13 with Solution

Write a Python GUI program to create a Notebook (tabbed interface) with three tabs, each containing different content using tkinter module.

Sample Solution:

Python Code:

import tkinter as tk
from tkinter import ttk

def create_tab1(tab):
    label = ttk.Label(tab, text="Java Exercises")
    label.pack(padx=20, pady=20)

def create_tab2(tab):
    label = ttk.Label(tab, text="Python Exercises")
    label.pack(padx=20, pady=20)

def create_tab3(tab):
    label = ttk.Label(tab, text="C++ Exercises")
    label.pack(padx=20, pady=20)

def main():
    parent = tk.Tk()
    parent.title("Tabbed Interface")
    notebook = ttk.Notebook(parent)

    # Create and add tabs
    tab1 = ttk.Frame(notebook)
    tab2 = ttk.Frame(notebook)
    tab3 = ttk.Frame(notebook)    

    notebook.add(tab1, text="Java")
    notebook.add(tab2, text="Python")
    notebook.add(tab3, text="C++")

    create_tab1(tab1)
    create_tab2(tab2)
    create_tab3(tab3)

    notebook.pack(padx=10, pady=10, fill="both", expand=True)

    parent.mainloop()

if __name__ == "__main__":
    main()

Explanation:

In the exercise above -

  • First we create three functions (create_tab1(), create_tab2(), and create_tab3()) that create content for each tab.
  • Next we create a tk.Tk() instance as the main window and a ttk.Notebook to hold the tabs.
  • Three tabs (tab1, tab2, and tab3) are created as ttk.Frame widgets and added to the notebook using the add method.
  • Each tab's content is created using the functions defined earlier.
  • The notebook is packed into the main window, and the main event loop is started with parent.mainloop().

Sample Output:

Tkinter: Python GUI Program: Creating a tabbed interface with Tkinter. Part-1
Tkinter: Python GUI Program: Creating a tabbed interface with Tkinter. Part-2
Tkinter: Python GUI Program: Creating a tabbed interface with Tkinter. Part-3

Flowchart:

Flowchart: Python GUI Program: Creating a tabbed interface with Tkinter
Flowchart: Python GUI Program: Creating a tabbed interface with Tkinter

Python Code Editor:


Previous: Create a Listbox bar widgets using tkinter module.
Next: Building a Hierarchical list widget.

What is the difficulty level of this exercise?

Test your Programming skills with w3resource's quiz.



Follow us on Facebook and Twitter for latest update.