Q-b*_*art 3 python qt pyqt hyperlink pyqt4
我有个问题.我可以在窗口的网页上建立链接,当用户点击它时,网页将在浏览器中打开.例如:
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_())
Run Code Online (Sandbox Code Playgroud)
是真的吗?
对不起。我已经搜索了答案。
label.setText('<a href="http://stackoverflow.com/">Link</a>')
label.setOpenExternalLinks(True)
Run Code Online (Sandbox Code Playgroud)
您找到答案当然是好的,但是有特殊的类,它允许您在默认浏览器中打开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>')
Run Code Online (Sandbox Code Playgroud)
这个例子肯定更大,但你应该知道QDesktopServices,因为它是非常有用的类.
| 归档时间: |
|
| 查看次数: |
4129 次 |
| 最近记录: |