Updating ValidatedMixin

Now that we're working with all Ttk widgets, we can update our ValidatedMixin class with some dynamic styling.

We'll begin in the __init__() method by creating a Style object:

   style = ttk.Style()

Since this is a mixin class, we don't know the original style name of the widget we're mixing with, so we'll have to fetch that.

Remember that we can do this with winfo_class():

       widget_class = self.winfo_class()
       validated_style = 'ValidatedInput.' + widget_class

After getting the widget class, we're creating a derivative style by prepending ValidatedInput to it. In order to toggle our input appearance between error and non-error appearances, we'll create a style map that switches with the state of the invalid state flag. ...

Get Python GUI Programming with Tkinter now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.