The widgets in tkinter are highly and easily configurable. You have almost complete control over how they look - border widths, fonts, images, colors, etc.

ttk widgets use styles to define how they look, so it takes a bit more work if you want a non-standard button. ttk widgets are also a little under-documented. Understanding the underlying theme and layout engines (layout within the widgets themselves, not pack, grid and place) is a challenge.

Generally speaking, the themed widgets will give you an application that looks more "native", but at the expense of a loss of configurability.

My advice is to use ttk widgets if you want your GUI to look a little more modern, and the tkinter widgets if you need a bit more configurability. You can use them both in the same applications.

Answer from Bryan Oakley on Stack Overflow
Top answer
1 of 6
119

The widgets in tkinter are highly and easily configurable. You have almost complete control over how they look - border widths, fonts, images, colors, etc.

ttk widgets use styles to define how they look, so it takes a bit more work if you want a non-standard button. ttk widgets are also a little under-documented. Understanding the underlying theme and layout engines (layout within the widgets themselves, not pack, grid and place) is a challenge.

Generally speaking, the themed widgets will give you an application that looks more "native", but at the expense of a loss of configurability.

My advice is to use ttk widgets if you want your GUI to look a little more modern, and the tkinter widgets if you need a bit more configurability. You can use them both in the same applications.

2 of 6
11

My opinion for beginners who are starting to learn Tkinter, is to use Tkinter widgets, because they're really easy to learn. But on the other hand Tkinter.ttk is a module designed to make Tkinter widgets look really perfectly, but is really hard to learn and there are no easy options there. Like there are no -fg, -bg. Perhaps, there are no new styles available in Tkinter. Style are only designed for ttk, and can be found in ttk.

And Tkinter widgets really don't look like other native platform widgets.

But ttk is nicer and smoother looking, and look like other native platforms.

So if you are making apps for your own private use, then use Tkinter and also use some ttk if needed, because ttk supports much cooler widgets that can change the look of your app.

And if you are making apps for public use, then go for both because Tkinter is needed for creating the window and some more important stuff, and for widgets go for ttk.

But honestly, I say use both because there are no conflicts between the two; just use them both to your advantage.

Honestly using ttk is a challenge! Because it has no Grid,Pack, Place and many other options that are normally available in Tkinter widgets. But wait!! Tkinter has those options! So use both! Try to make a nice app!

That is the real difference between the two: Tkinter widgets are more configurable, and ttk is more modern and it is configurable with styles which are really handy shortcuts. And Tkinter is like the core of the window and ttk is styling. Think of it like this:

Tkinter --- HTML, ttk --- CSS, Python --- JavaScript.

๐ŸŒ
GeeksforGeeks
geeksforgeeks.org โ€บ python โ€บ difference-between-the-widgets-of-tkinter-and-tkinter-ttk-in-python
Difference Between The Widgets Of Tkinter And Tkinter.Ttk In Python - GeeksforGeeks
July 23, 2025 - Let's dive into code examples to illustrate the difference between Tkinter and Tkinter.ttk widgets. Here is a simple example demonstrating basic Tkinter widgets. We will create a Tkinter window application and display a few widgets such as Buttons, Label, and Entry. ... import tkinter as tk # Create the main window root = tk.Tk() root.title("Tkinter Widgets Example") # Create a label widget label = tk.Label(root, text="This is a Tkinter Label") label.pack() # Create an entry widget entry = tk.Entry(root) entry.pack() # Create a button widget button = tk.Button(root, text="Click Me") button.pack() # Run the application root.mainloop()
Discussions

Difference between tk.Tk() and Tk()?
Both are referring to the same Tk class, however they differ in how Tkinter was imported: import tkinter as tk root = tk.Tk() # or from tkinter import * root = Tk() Note that the first style is preferred . More on reddit.com
๐ŸŒ r/Tkinter
3
4
February 28, 2021
CustomTkinter or ttkbootstrap? Which is better and why? Should I even use Tkinter?
Something that you may not have considered is licensing. When deciding which GUI framework to use the license is the first thing that I consider. Commercial licensing can create an overhead cost that can kill a startup app I don't personally use tkinter because there are more modern options. You might consider Flet with the understanding that it does not have mass adoption and while it feels lightweight it requires the installation of GIT, flutter, and MS Visual Studio with additional toolkits in order to package the app. Combined those require more than 10GB of hard drive space on your main drive. It also has a known flutter related bug that requires you to set GIT safe.directory to all which is a security concern. But it creates beautiful and modern single page apps through widgets and views. It supports animations and can be surprisingly powerful. I once built a legend of Zelda clone using only Flet More on reddit.com
๐ŸŒ r/learnpython
13
12
August 2, 2024
Importing ttk from tkinter always results in an exception
Both from tkinter import ttk and import tkinter.ttk as ttk should work on any version of Python 3. Do you maybe have a file called "tkinter.py" in your project that is being imported instead of the standard library module? More on reddit.com
๐ŸŒ r/learnpython
16
4
November 3, 2022
Make your Tkinter app look truly modern with a single line of code!
Just one word: AWESOME. Thanks for the resource. More on reddit.com
๐ŸŒ r/Python
41
526
September 11, 2022
๐ŸŒ
Python
docs.python.org โ€บ 3 โ€บ library โ€บ tkinter.ttk.html
tkinter.ttk โ€” Tk themed widgets
Ttk comes with 18 widgets, twelve of which already existed in tkinter: Button, Checkbutton, Entry, Frame, Label, LabelFrame, Menubutton, PanedWindow, Radiobutton, Scale, Scrollbar, and Spinbox. The other six are new: Combobox, Notebook, Progressbar, Separator, Sizegrip and Treeview.
๐ŸŒ
Linux Mint Forums
forums.linuxmint.com โ€บ board index โ€บ interests โ€บ programming & development
Difference between tkinter tk and ttk in Python - Linux Mint Forums
September 4, 2025 - Hello, You should probably go with vanilla Tkinter. Ttk is like a more modern and clean widget toolkit for Tkinter, but many find it useless, and normal Tk has a lot more documentation and is easier to use and provides more options for a clean looking and simple gui.
๐ŸŒ
Python Tutorial
pythontutorial.net โ€บ home โ€บ tkinter tutorial โ€บ ttk widgets
Tkinter ttk Themed Widgets - Python Tutorial
April 3, 2025 - Tkinter has both classic and themed widgets (ttk widget). The Tk themed widgets are also known as ttk widgets.
๐ŸŒ
Python Programming
pythonprogramming.altervista.org โ€บ tkinter-vs-ttk-better-widgets
Tkinter vs TTK (better widgets) โ€“ python programming
In the next picture you can see some radiobuttons with tkinter and tkinter.ttk, to see the difference. # the code # for the original tkinter import tkinter as tk root = tk.Tk() vstring = tk.IntVar() text_value = [ ("option 1", "1"), ("option 2", "2"), ("option 3", "3"), ("option 4", "4") ] ...
๐ŸŒ
YouTube
youtube.com โ€บ watch
Python Basics Tutorial Difference Between tk and ttk from tkinter || Answering Viewers Comments - YouTube
Learn what the difference is between tk and ttk from tkinter for python programmingPatreon:https://www.patreon.com/Python_basicsGithub:https://github.com/Pyt...
Published ย  February 11, 2022
Find elsewhere
๐ŸŒ
Finxter
blog.finxter.com โ€บ home โ€บ learn python blog โ€บ understanding the differences between tkinter and tkinter ttk widgets in python
Understanding the Differences Between Tkinter and Tkinter TTK Widgets in Python - Be on the Right Side of Change
March 7, 2024 - Standard Tkinter widgets offer ... In contrast, TTK widgets, being part of the themed Tk widgets extension, allow for modern and native styling across different operating systems using themes and styles....
๐ŸŒ
TutorialsPoint
tutorialspoint.com โ€บ what-is-the-difference-between-the-widgets-of-tkinter-and-tkinter-ttk-in-python
What is the difference between the widgets of tkinter and tkinter.ttk in Python?
March 26, 2021 - Tkinter widget is a native widget in the tkinter library, however ttk is a themed module. To override the basic Tk widget in tkinter, use "from tkinter.ttk import *"
๐ŸŒ
Python documentation
docs.python.org โ€บ 3 โ€บ library โ€บ tkinter.html
tkinter โ€” Python interface to Tcl/Tk
February 23, 2026 - Tk uses Tclโ€™s event queue to generate and process GUI events. ... Themed Tk (Ttk) is a newer family of Tk widgets that provide a much better appearance on different platforms than many of the classic Tk widgets.
๐ŸŒ
PySimpleGUI
docs.pysimplegui.com โ€บ en โ€บ latest โ€บ documentation โ€บ module โ€บ ttk
TTK - PySimpleGUI Documentation
If there is both a TK and a TTK version of a Widget, usually it's the TK version that has been implemented. You will find a table in the Elements section that shows exactly which tkinter widget is used for each element.
๐ŸŒ
CodersLegacy
coderslegacy.com โ€บ home โ€บ python โ€บ tkinter ttk widgets โ€“ python tutorial
Tkinter ttk widgets - Python Tutorial - CodersLegacy
January 24, 2022 - Secondly, the newer widgets introduced by ttk have slight syntax differences when it comes to certain menu options like bg and fg, which are normally present in tkinter. Instead of this, ttk introduces a Style class, which is used to apply customizations.
๐ŸŒ
Raspberry Pi Forums
forums.raspberrypi.com โ€บ board index โ€บ programming โ€บ python
Quesion about tkinter tk/ttk widgets and metrics - Raspberry Pi Forums
May 16, 2024 - I am writing a UI using tkinter and ttk widgets. Having struggled with pack() and "automatic" placing of widgets, and failed, I am trying a different tack, namely placing things where I think I want them to be. As an example, I create a Notebook, and add in Frame objects to give me a set of ...
๐ŸŒ
GeeksforGeeks
geeksforgeeks.org โ€บ python-tkinter-ttk-checkbutton-and-comparison-with-simple-checkbutton
Python | Tkinter ttk.Checkbutton and comparison with simple Checkbutton | GeeksforGeeks
January 19, 2023 - 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 ...
๐ŸŒ
YouTube
youtube.com โ€บ watch
Tkinter vs ttk Button | Python GUI Tutorial + Combobox Explained - YouTube
In this video, we learn about ttk in Python Tkinter and understand the difference between the normal Tkinter Button and ttk Button.The ttk module (Themed Tki...
Published ย  March 19, 2026
Views ย  39
๐ŸŒ
15. The Menu widget
anzeljg.github.io โ€บ rin2 โ€บ book2 โ€บ 2405 โ€บ docs โ€บ tkinter โ€บ ttk.html
28. ttk: Themed widgets - Tkinter
Starting with Tk 8.5, the ttk module became available. This module replaces much (but not all) of the original Tkinter machinery.
๐ŸŒ
DNMTechs
dnmtechs.com โ€บ difference-between-tkinter-and-tkinter-ttk-widgets-in-python-3
Difference between tkinter and tkinter.ttk widgets in Python 3 โ€“ DNMTechs โ€“ Sharing and Storing Technology Knowledge
tkinter and tkinter.ttk are both powerful libraries for creating GUIs in Python 3. While tkinter provides a basic set of widgets, tkinter.ttk extends its functionality by offering more visually appealing widgets with improved performance. The choice between the two depends on the specific ...
๐ŸŒ
Iditect
iditect.com โ€บ faq โ€บ python โ€บ what-is-the-difference-between-the-widgets-of-tkinter-and-tkinterttk-in-python.html
What is the difference between the widgets of tkinter and tkinter.ttk in Python?
If you want a more modern and visually appealing appearance, especially in cross-platform applications, tkinter.ttk widgets are a good choice. However, if you need a simpler and more native appearance or require backward compatibility, you can use standard tkinter widgets.
๐ŸŒ
Reddit
reddit.com โ€บ r/learnpython โ€บ customtkinter or ttkbootstrap? which is better and why? should i even use tkinter?
r/learnpython on Reddit: CustomTkinter or ttkbootstrap? Which is better and why? Should I even use Tkinter?
August 2, 2024 -

I am quite new to GUIs in Python and Python in general, and I want to know which one of these packages is worth using for Tkinter or if I should be using Tkinter in the first place. The criteria I am going for are a modern look, ease of use, and an abundance of widgets and customization options.