def paint(self, painter, option, index): if not index.parent().isValid(): # Root level option.font.setWeight(QFont.Bold) if index.parent().isValid() and not index.parent().parent().isValid(): # Hardware interface level option.font.setItalic(True) option.font.setWeight(QFont.Bold) QStyledItemDelegate.paint(self, painter, option, index)