使用正则表达式,我找到了文本中的所有链接。现在我如何只为自己选择链接并插入锚点?
我已经使用过:
cur=self.textedit.textCursor()
cur.select(QTextCursor.Document)
fmt=QTextCharFormat()
fmt.setAnchorHref(link)
cur.mergeCharFormat(fmt)
这就存在整个文本作为链接的问题。那是因为我选择了整个文件,我知道。但是,我如何自动选择找到的链接?例如,如果文本是
Hello world this is a link to www.google.com and it does not work so I ask at www.stackoverflow.com.
我希望自动选择www.google.com和www.stackoverflow.com。我已经用正则表达式找到的那两个字符串。
编辑:
我找到了一种选择链接的方法。首先,我通过
获得链接的索引link="www.google.com"
text=self.textedit.toPlainText()
selectTextAt = text.index(link)
cur=self.textedit.textCursor()
cur.setPosition(selectTextAt)
cur.movePosition(QTextCursor.Right, QTextCursor.KeepAnchor, len(link))
self.textedit.setTextCursor(cur)
甚至更好:
cur=self.textedit.document().find(link,cur)
self.textedit.setTextCursor(cur)
createHyperlink=cur.selectedText()
fmt=QTextCharFormat()
fmt.setAnchorHref(createHyperlink)
cur.mergeCharFormat(fmt)
然后我还有两个问题:
只有在我将文本重新设置为html
如果单击该链接,则不会发生任何事情,但每个文本都会被清除。
将html键入stage5(html-editor)似乎只有链接才有效,如果它们像“a href =”http:// ..:“而不是”a href =“www ....” 。你有什么建议吗?