def focusOutEvent(self, event): '''Handle focus out event. Argument(s): event (QFocusEvent ): Focus event ''' QGraphicsTextItem.focusOutEvent(self, event) # Create a fake node to test if label is valid with pydot fakeNode = ("fake[" + NodeDotAttrs.label.value + "=" + self.toPlainText() + "]") pydotGraph = graph_from_dot_data("graph{" + fakeNode + "}") # Label is valid: we can do the update if pydotGraph: dicDotAttrs = { NodeDotAttrs.label.value: NodeDotLabelUtils.formatLabel(self.toPlainText()) } # Update text in other views node = self.parentItem() node.graphicsGraphView.controller.onEditNode(node.id, dicDotAttrs) # Disable edit text self.setTextInteractionFlags(Qt.NoTextInteraction) # Label is invalid: force user to write a correct label else: QMessageBox.warning(None, "Syntax error", "The label is invalid.") self.setFocus()
def focusOutEvent(self, event): '''Handle focus out event. Argument(s): event (QFocusEvent ): Focus event ''' QGraphicsTextItem.focusOutEvent(self, event) # Create a fake node to test if label is valid with pydot fakeNode = ("fake[" + NodeDotAttrs.label.value + "=" + self.toPlainText() + "]") pydotGraph = graph_from_dot_data("graph{" + fakeNode + "}") # Label is valid: we can do the update if pydotGraph: dicDotAttrs = { NodeDotAttrs.label.value: NodeDotLabelUtils.formatLabel(self.toPlainText()) } # Update text in other views node = self.parentItem() node.graphicsGraphView.controller.onEditNode(node.id, dicDotAttrs) # Disable edit text self.setTextInteractionFlags(Qt.NoTextInteraction) # Label is invalid: force user to write a correct label else: QMessageBox.warning(None, "Syntax error", "The label is invalid.") self.setFocus()
def focusOutEvent(self, event): self.inputMethodEvent(event) QGraphicsTextItem.focusOutEvent(self, event)
def focusOutEvent(self, event): self.setTextInteractionFlags(Qt.NoTextInteraction) self.textChanged.emit(self.toPlainText()) self.textEditFinished.emit() QGraphicsTextItem.focusOutEvent(self, event)
def focusOutEvent(self, event: QFocusEvent): self.inputMethodEvent(event) QGraphicsTextItem.focusOutEvent(self, event)