【问题标题】:How to embed URL link to QLabel如何将 URL 链接嵌入到 QLabel
【发布时间】:2015-12-26 05:05:53
【问题描述】:

单击 QLabel 应该会打开一个指定 URL 链接的默认 Web 浏览器。它还没有发生。为什么? 第二个问题。是否可以用其他东西覆盖标签字体的默认蓝色?

class Widget(QtGui.QWidget):
    def __init__(self, *args):
        QtGui.QWidget.__init__(self, *args)
        vLayout=QtGui.QVBoxLayout(self)
        self.setLayout(vLayout)
        urlLink="<a href=\"http://www.google.com\">'Click this link to go to Google'</a>" 
        label=QtGui.QLabel(self)
        label.setText(urlLink)
        vLayout.addWidget(label)


if __name__ == "__main__":
    app = QtGui.QApplication(sys.argv)
    w = Widget()
    w.show()
    sys.exit(app.exec_())

【问题讨论】:

    标签: python qt url pyqt qlabel


    【解决方案1】:

    标签内容的样式可以使用standard html syntax修改。

    自动open external links

        label.setOpenExternalLinks(True)
    

    【讨论】:

    • 感谢 Ekhumoro!这里是黑色的:urlLink=" &lt;a href=\"http://www.google.com\"&gt; &lt;font face=verdana size=12 color=black&gt; This is a link&lt;/font&gt; &lt;/a&gt;"
    • 还要注意setTextInteractionFlags必须有LinksAccessibleByMouse设置。 doc-snapshots.qt.io/qtforpython-5.15/PySide2/QtCore/…
    【解决方案2】:

    在 Qt 设计器中,

    1. 确保选中包含链接的标签对象,
    2. 在属性编辑器的 QLabel 组中找到openExternalLinks 属性(您可以在属性编辑器过滤器字段中输入open),
    3. 将属性openExternalLinks 设置为True(选中)。 [此属性默认设置为False。]

    【讨论】:

      猜你喜欢
      • 2021-06-01
      • 2020-05-13
      • 2021-03-13
      • 2015-04-20
      • 1970-01-01
      • 1970-01-01
      • 2018-01-24
      • 2019-10-24
      • 2012-08-18
      相关资源
      最近更新 更多