如何解决QTextBrowser scrollToAnchor 调用未正确滚动
我无法让 QTextBrowser.scrollToAnchor 正确滚动。 on_anchorClicked
信号正在触发,但我很难确定之后出了什么问题。
我已经通过在 ReText 中预览来仔细检查我的 Markdown 文件锚点是否正确标记(只要我不选中 WebKit 预览框,锚点就可以工作)。 (我也知道 HTML 命名要求 as mentioned in this question)。
我在我的实现和他们正在做的事情之间看到的主要区别是我使用 QTextbrowser.setMarkdown
来填充我的降价预览小部件。有谁知道这是否与 QTextbrowser 设置锚点的方式混淆?
示例代码如下:
import pyside2 as ps2
class App(ps2.QtWidgets.QMainWindow):
def __init__(self,parents=None):
self.ui.textbrowser.anchorClicked.connect(self.on_anchorClicked)
def read_file(self,file_path):
file_handle = ps2.QtCore.QFile(file_path.absoluteFilePath())
if not file_handle.open(ps2.QtCore.QFile.ReadOnly | ps2.QtCore.QFile.Text):
return False
stream = ps2.QtCore.QTextStream(file_handle)
self.ui.textbrowser.setMarkdown(stream.readAll())
def on_anchorClicked(self,link):
url = link.url()
if url.startswith("#"):
print("Attempting to scroll to anchor {}".format(url[1:]))
self.ui.textbrowser.scrollToAnchor(url[1:])
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。