As far as I can see, most internal Tkinter methods use _getboolean(), which currently looks like:
def _getboolean(self, string):
"""Internal function."""
if string:
return self.tk.getboolean(string)
I am not 100% sure about this, but I figure that when this was written it was intentional that if "string" is an empty string, it should return None instead of (back then) 0 or 1. Today this would probably translate into something like:
def _getboolean(self, value):
if not value in ('', None):
return bool(self.tk.getboolean(value)) |