我有一个 QTextBrowser,我在其中输入了该示例文本:
Column1 Column2
1 2 3 4 www.google.com
列之间有制表符,数字之间有空格。plainText=QTextBrowser.toPlainText() 给出:
Column1 Column2
1 2 3 4 www.google.com
现在,我想让链接可点击。通过这个,我将文本设置为 html。我写了一些字符串操作
WORDS = re.split("(\W+)",plainText)
这给了
['Column1', '\t', 'Column2', '\n', '1', ' ', '2', ' ', '3', ' ', '4', '\t', 'www', '.', 'google', '.', 'com', ' ', '']
并将“www”替换为 html 格式的超链接
<a href=http://www.google.com>www.google.com</a>
然后,我删除了 WORDS 中的项目:“.”、“test”、“.”、“com”。
['Column1', '\t', 'Column2', '\n', '1', ' ', '2', ' ', '3', ' ', '4', '\t', '<a href=http://www.google.com>www.google.com</a>', ' ', '']
然后我再次将所有 WORDS 部分重建为一个字符串,将换行符 \n 替换为
<br/>.
现在,当我将字符串设置为 QTextBrowser 时,链接会正确显示并且可以点击。问题是:输入的文本,因为它现在是 html,忽略/删除所有空格(如果多个)和制表符!输出看起来像(链接现在是蓝色并带下划线)
Column1 Column2
1 2 3 4 www.google.com
如何在不破坏格式的情况下创建超链接?
也许我坐错火车了??