【问题标题】:How can I make link on web page in window using pyqt4?如何使用pyqt4在窗口中的网页上创建链接?
【发布时间】:2015-07-11 07:07:19
【问题描述】:

我有问题。 我可以在窗口中的网页上创建一个链接,当用户单击它时,该网页将在浏览器中打开。 例如:

import sys
from PyQt4 import QtGui, QtCore

app = QtGui.QApplication(sys.argv)
main = QtGui.QWidget()
main.setGeometry(200, 200, 200, 100)
label = QtGui.QLabel('<a href="http://stackoverflow.com/">Stackoverflow/</a>')
box = QtGui.QVBoxLayout()
box.addWidget(label)
main.setLayout(box)

main.show()
sys.exit(app.exec_())

真的吗?

【问题讨论】:

    标签: python qt hyperlink pyqt pyqt4


    【解决方案1】:

    找到答案当然很好,但是有一个特殊的类,它允许您在默认浏览器中打开 URL 或在默认编辑器/播放器中打开文件等。它是QDesktopServices。例如:

    from PyQt5.QtGui import QDesktopServices
    from PyQt5.QtCore import QUrl
    
    class MainWindow(QMainWindow, Ui_MainWindow):
        def link(self, linkStr):
    
            QDesktopServices.openUrl(QUrl(linkStr))
    
        def __init__(self):
            super(MainWindow, self).__init__()
    
            # Set up the user interface from Designer.
            self.setupUi(self)
            self.label.linkActivated.connect(self.link)
            self.label.setText('<a href="http://stackoverflow.com/">Stackoverflow/</a>')
    

    这个例子肯定更大,但是你应该知道QDesktopServices,因为它是非常有用的类。

    【讨论】:

    • 好的!谢谢!当然,我会更清楚地了解 QDesktopServices。
    【解决方案2】:

    对不起。我已经搜索了答案。

    label.setText('<a href="http://stackoverflow.com/">Link</a>')
    label.setOpenExternalLinks(True)
    

    【讨论】:

      猜你喜欢
      • 2012-11-11
      • 2016-10-29
      • 1970-01-01
      • 2011-06-09
      • 2014-07-05
      • 1970-01-01
      • 2017-12-09
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多