Python PyQt5 QTextBrowser 超链接丢失部分链接

Posted

技术标签:

【中文标题】Python PyQt5 QTextBrowser 超链接丢失部分链接【英文标题】:Python PyQt5 QTextBrowser hyperlink loses part of link 【发布时间】:2018-03-15 20:55:51 【问题描述】:

您好,我对 QTextBrowser 中的超链接有一个小问题。

我使用此代码创建链接,其 ID 来自 json 解析:

ID = data["response"]["recordings"][0]["id"]
aLink = " <a href=http://***/archive/edit?id=%s>%s</a>" % (ID, ID)

print(aLink)

当我打印链接时,我得到:

<a href=http://***/archive/edit?id=17452>17452</a>

问题是当我使用它在 QTextBrowser 中创建超链接时,该链接已创建,但它只包含这个:

http://***/archive/edit?id

当我将链接附加到 QtextBrowser 时,我以某种方式丢失了这部分代码“=17452”

self.textBrowser.append(aLink)

有什么想法吗?

【问题讨论】:

【参考方案1】:

你必须设置引号:

<a href='some-url'> some-text</a>
        ^        ^
        |-quotes-|

例子:

import sys

from PyQt5.QtWidgets import *

app = QApplication(sys.argv)
ID = 17452
aLink = " <a href='http://***/archive/edit?id=%s'>%s</a>" % (ID, ID)
w = QTextBrowser()
w.append(aLink)
w.show()

sys.exit(app.exec_())

【讨论】:

以上是关于Python PyQt5 QTextBrowser 超链接丢失部分链接的主要内容,如果未能解决你的问题,请参考以下文章

Python PyQt5 中QtextBrowser打印程序log,只输出一次不知道原因

使用 PyQt5 轻松实现多线程,用于更新 QTextBrowser 内容

如何清除pyqt5中qtextbrowser的内容?

如何在 Python 中使用 QTextBrowser 而不是控制台?

如何将 QTextBrowser(其中包含 html 表)的光标移动到 PyQt5 中的特定行?

QT qtextbrowser 如何在读取文件的时候不自动换行,完全按照文件的格式输出?