code: def _draw_fold_indicator(self, top, mouse_over, collapsed, painter):
          
          rect = QRect(0, top, self.sizeHint().width(),
                              self.sizeHint().height())
          if self._native_icons:
              opt = QStyleOptionViewItem()
  
              opt.rect = rect
              opt.state = (QStyle.State_Active |
                           QStyle.State_Item |
                           QStyle.State_Children)
              if not collapsed:
                  opt.state |= QStyle.State_Open
              if mouse_over:
                  opt.state |= (QStyle.State_MouseOver |
                                QStyle.State_Enabled |
                                QStyle.State_Selected)
                  opt.palette.setBrush(QPalette.Window,
                                       self.palette().highlight())
              opt.rect.translate(-2, 0)
              self.style().drawPrimitive(QStyle.PE_IndicatorBranch,
                                         opt, painter, self)
          else:
              index = 0
              if not collapsed:
                  index = 2
              if mouse_over:
                  index += 1
              ima.icon(self._indicators_icons[index]).paint(painter, rect)
docs: Draw the fold indicator/trigger (arrow).
  
          :param top: Top position
          :param mouse_over: Whether the mouse is over the indicator
          :param collapsed: Whether the trigger is collapsed or not.
          :param painter: QPainter