问题描述
我无法让 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 (将#修改为@)