1

在富文本编辑器中,如何执行 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 之后),它经常崩溃,我不知道为什么。(是的,你没有水晶球,但请继续阅读)

是否有共同的任务来实现我的目标?什么是一个好的常用方法?我想知道在这样的程序中这是如何完成的,但没有来源。请给我一些建议或指出一个可行的例子,这让我发疯了。

4

0 回答 0