Skip to main content

Tutorial Introduction

This is the official CustomTkinter tutorial section. Each tutorial builds a small app step by step and ends with the full code, which you can copy and run. If you are new to CustomTkinter, start with Your First App. The tutorials are written for CustomTkinter 6.0, but most of the code also works with version 5.

For a description of all widgets and their arguments, see the documentation.

greeting app from the first tutorial

Beginner

Write your first app, get familiar with the grid geometry system, create frames and scrollable frames and set up the window.

table with search and dark mode switch

Widgets

Forms with validation, dependent dropdowns, images and icons, tables with Treeview and dialogs.

app with a navigation sidebar and multiple pages

App Structure

Structure an app with classes, switch between multiple pages and open extra windows with CTkToplevel.

progress bar of a running task

Background Tasks

Run long tasks in a thread with a progress bar, without freezing the window.

the same app in light and dark mode

Styling

Light and dark mode, own colors for both modes and tkinter widgets that follow the appearance mode.

image viewer packaged with PyInstaller

Distribution

Package an app with images and icons into an executable with PyInstaller.

custom spinbox widget

Advanced

Create new reusable components based on a frame like a spinbox.

map with markers and an info panel

TkinterMapView

Show a map with TkinterMapView, add markers, react to clicks and change the tile server.

matplotlib chart in the CustomTkinter style

Matplotlib Charts

Matplotlib charts with the colors and font of CustomTkinter, zoom and mouse events, and live data from a thread.