Я пытаюсь проверить мою функцию highlight_word (ниже). Однако я не могу понять, как получить доступ к форматированию. По сути, я просто хочу показать, что это не по умолчанию. Я пытался QPlainTextEdit.extraSelections()
, но это, очевидно, относится к разрушенным объектам. Я также попытался QTextCursor.charFormat().background.color()
с соответствующим образом расположенным курсором, но только когда-либо получаю rgbf(0,0,0,1)
.
def highlight_word(self, cursor: QTextCursor):
selection = QTextEdit.ExtraSelection()
color = QColor(Qt.yellow).lighter()
selection.format.setBackground(color)
selection.cursor = cursor
self.setExtraSelections([selection])
ОБНОВЛЕНИЕ
Во-первых, я использую PySide2, если это влияет на дальнейшие действия.
Принятое решение работает. Моя проблема была в том, что я писал self.editor.extraSelections()[0].format.background().color().getRgb()
, что приводит к RuntimeError: Internal C++ object (PySide2.QtGui.QTextCharFormat) already deleted.
. Это кажется мне странным.