code: def highlight_spaces(self, text, offset=0):
          
          flags_text = self.document().defaultTextOption().flags()
          show_blanks =  flags_text & QTextOption.ShowTabsAndSpaces
          if show_blanks:
              format_leading = self.formats.get("leading", None)
              format_trailing = self.formats.get("trailing", None)
              match = self.BLANKPROG.search(text, offset)
              while match:
                  start, end = match.span()
                  start = max([0, start+offset])
                  end = max([0, end+offset])
                  # Format trailing spaces at the end of the line. 
                  if end == len(text) and format_trailing is not None:
                      self.setFormat(start, end, format_trailing)
                  # Format leading spaces, e.g. indentation.
                  if start == 0 and format_leading is not None:
                      self.setFormat(start, end, format_leading)
                  format = self.format(start)
                  color_foreground = format.foreground().color()
                  alpha_new = self.BLANK_ALPHA_FACTOR * color_foreground.alphaF()
                  color_foreground.setAlphaF(alpha_new)
                  self.setFormat(start, end-start, color_foreground)
                  match = self.BLANKPROG.search(text, match.end())
docs: Make blank space less apparent by setting the foreground alpha.
          This only has an effect when 'Show blank space' is turned on.
          Derived classes could call this function at the end of
          highlightBlock().