[Tkinter-discuss] Focus issue

Cam Farnell msa01 at bitflipper.ca
Wed Jan 10 07:44:07 EST 2024


In a rather large program I have this code:

self.TextWidget.focus_set()
print("type(self.TextWidget)=%s"%type(self.TextWidget))
print('Focus_get()=%s'%self.focus_get())

The goal is to have TextWidget get the focus. Usually it does, but there is one particular circumstance when it does not get the focus. The "print" lines I added for debugging.

The output from the print functions is:

type(self.TextWidget)=<class 'rpWidgets.ColorizedText'>
Focus_get()=None

TextWidget is an instance of rpWidgets.ColorizedText which is created thus:

class ColorizedText(tkinter.Text):

which is to say, it's just a tkinter.Text to which I've added methods.

I've tried creating a minimum example without success.

My questions is: how is it possible for TextWidget to NOT have the focus immediately after a call to focus_set?

Changing focus_set to focus_force makes no difference.

Invoking update_idletasks() after the focus_set makes no difference.

The TextWidget in question is visible on the screen, and pressing Tab a couple of times does get it the focus.

Having spent some hours chasing this I'm a tad frustrated, but quite open to suggestions about what to look for.

Cheers

Cam Farnell





More information about the Tkinter-discuss mailing list