如何使用 pyqt4 在 window 的网页上制作 link?

How can I make link on web page in window using pyqt4?

我有问题。 我可以在 window 中的网页上做一个 link 并且当用户点击它时,网页将在浏览器中打开。 例如:

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://whosebug.com/">Whosebug/</a>')
box = QtGui.QVBoxLayout()
box.addWidget(label)
main.setLayout(box)

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

是真的吗?

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

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

找到答案当然很好,但是有特殊的 class,它允许您在默认浏览器中打开 URL 或在默认 editors/players 中打开文件等。它是 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://whosebug.com/">Whosebug/</a>')

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