Я пытаюсь прикрепить гиперссылку к выделенному тексту.
Нашел вот такой пример:
cursor = self.SenderSettingsDialog.textEdit.textCursor()
fmt = cursor.charFormat()
fmt.setForeground(QColor(*helper.LogColor.blue))
address = 'http://example.com'
fmt.setAnchor(True)
fmt.setAnchorHref(address)
fmt.setToolTip(address)
if cursor.hasSelection():
cursor.setCharFormat(fmt)
В целом он работает, но есть один нюанс. Если курсор в TextEdit установлен в блоке, к которому прикреплена ссылка, то весь последующий ввод будет добавлен к тексту гиперссылки. Это логично, так как курсор принемает свойства установленные тексту, находящимся под ним, но это не сосвем то что мне нужно, тк если это последний блок, то все что я ввожу дальше становится текстом гиперссылки.
Что я должен сделать что бы избежать такого поведения?
Я бы хотел добится поведения как в ворде, гугл документах и тд.
Я читал документацию, но пока не понял всю логику работы с курсорами.