adi adi - 4 months ago 40
Python Question

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

The main

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

So, when creating a button, one has the freedom to either use a
tkinter.Button
widget or a
tkinter.ttk.Button
.

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

Answer

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.

Comments