You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何通过点击转为超链接的QLabel打开PDF文件?

用QLabel实现点击打开本地PDF的两种方案

我整理了两种实用的方案,能让QLabel里的文字变成可点击的链接,点击后直接用系统默认程序打开指定PDF文件:

思路1:直接写完整的file协议链接

直接在HTML格式的文本里写带file:///协议的完整路径,再开启QLabel的外部链接打开功能就行:

self.text_label.setText('<a href=file:///"/Documents/To%20be%20Saved/hello.pdf"> Reference Link</a>')
self.text_label.setOpenExternalLinks(True)

注意:路径里的空格必须转成%20,不然会导致路径识别错误;setOpenExternalLinks(True)是核心,它会让QLabel自动调用系统默认程序来打开链接指向的PDF文件。

思路2:动态拼接路径(更灵活)

如果你的PDF路径是动态生成的,用字符串格式化来拼接链接会更方便,同样要记得加上file:///协议:

# 先处理好路径(空格转%20)
pdf_path = "/Documents/To%20be%20Saved/hello.pdf"
self.text_label.setText("<a href=file:///{}>Reference Link</a>".format(pdf_path))
self.text_label.setOpenExternalLinks(True)

这个方案适合需要根据不同场景切换PDF路径的情况,只要把处理好的路径变量传进去就行,逻辑更清晰。

内容的提问来源于stack exchange,提问作者Shaurya Garg

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.27 03:47:41