我正在尝试更改将突出显示的字体的颜色(红色)。我面临的问题是,一旦我突出显示第一个单词,以下所有文字都会变成红色。
def cursorPosition(self):
logging.debug("Cursor Positiong changed")
self.cursor = self.ui.captureWindow.textCursor()
if self.cursor.hasSelection():
fmt = QTextCharFormat()
fmt.setForeground(Qt.red)
logging.debug(self.cursor.selectedText())
# We insert the new text, which will override the selected text
self.cursor.insertText(self.cursor.selectedText(), fmt)
# txt = '<p style="color:red;">' + self.cursor.selectedText() + '</p> '
# self.cursor.insertHtml(txt)
# And set the new cursor
self.ui.captureWindow.setTextCursor(self.cursor)
我试过用两种方法做到这一点,insertText
并且insertHtml
.
insertHtml
如果结束标记后有空格,则有效。删除那个空格,它的行为方式与 相同insertText
,第一次突出显示后所有内容都将变为红色。