在富文本编辑器中,如何执行 URL 的实时格式化?
网络上有一个例子,但我找不到。
这是我已经可以做的:
检测链接(以 http. 或 www. 开头)
插入HTML
<a href=http://link>link</a>
QtextCharFormat setAnchorHref(link) 似乎不起作用,因为它创建了一个
<a href="www.bild.de">
如果我手动输入,那什么都不做
<a href="http://www.bild.de">
它有效,但这就是我不能使用 setAnchorHref 的原因。
所以魔鬼在细节中,所以这里有一些问题:
我如何保留周围的标签之类的
<b>
?我设置的那些font.setBold(True) cur.mergeCharFormat(cur.charFormat())
就像windows的便签一样:当你输入一个链接,然后输入一个空格时,它会识别出空格并移除蓝色。在我的程序中,它保留了链接的蓝色样式。
如果我使用 QTextCursor 执行实时格式化操作(在每个 textChanged-Signal 之后),它经常崩溃,我不知道为什么。(是的,你没有水晶球,但请继续阅读)
是否有共同的任务来实现我的目标?什么是一个好的常用方法?我想知道在这样的程序中这是如何完成的,但没有来源。请给我一些建议或指出一个可行的例子,这让我发疯了。