def _on_item_clicked(self, item: QGraphicsItem): if isinstance(item, Node) and item.info \ and item.id not in self._texts: self.add_text(item.id, item.x() + 15, item.y() + 15, item, html_text=item.info) elif isinstance(item, Edge) and item.info \ and item.id not in self._texts: x = (item.dest.x() - item.source.x()) / 2 + item.source.x() y = (item.dest.y() - item.source.y()) / 2 + item.source.y() self.add_text(item.id, x, y, parent_item=item.source, html_text=self.get_relation_text(item.info))