adi adi - 8 months ago 67
Python Question

What is the difference between the widgets of tkinter and tkinter.ttk in Python?

The main

module and its submodule
in Python 3 appear to contain identical widgets (i.e.
, etc.).

So, when creating a button, one has the freedom to either use a
widget or a

Do you know what is the difference between them? Why would you choose one or the other?


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

ttk widgets are themed: they 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.