Esempio n. 1
0
    def on_edit_annotation_item_requested(self, item: QGraphicsItem):
        # Edit text item
        if isinstance(item, TextItem):

            def edit_text_item(result):
                if result == QDialog.Accepted:
                    old_text = item.text()
                    old_font = item.font()
                    text, font_size = self._dialog.getValues()
                    font = QFont()
                    font.setPointSize(font_size)
                    item.setText(text)
                    item.setFont(font)
                    self._undo_stack.push(
                        EditTextCommand(item, old_text, old_font.pointSize(),
                                        self.scene()))

            self._dialog = TextItemInputDialog(self)
            self._dialog.setValues(item.text(), item.font().pointSize())
            self._dialog.finished.connect(edit_text_item)
            self._dialog.open()