Javascript QWebEngine-获取当前最大滚动值

Javascript QWebEngine-获取当前最大滚动值,javascript,qt5,qtwebengine,Javascript,Qt5,Qtwebengine,我正在创建一个标记文本编辑器,左侧有一个QPlainTextEdit,用于输入文本,右侧有一个QWebEngineView,用于显示预览 问题是,当我滚动左侧面板时(滚动QPlainTextEdit),无法同步QWebEngineView滚动位置。 我可以通过编程方式滚动QWebEngineView调用 page()->runJavaScript("window.scrollTo(0, y);") 但是如果没有它当前的最大滚动值,我无法计算正确的值 因此,问题是: 有没有办法获取当前QW

我正在创建一个标记文本编辑器,左侧有一个
QPlainTextEdit
,用于输入文本,右侧有一个
QWebEngineView
,用于显示预览

问题是,当我滚动左侧面板时(滚动
QPlainTextEdit
),无法同步
QWebEngineView
滚动位置。 我可以通过编程方式滚动
QWebEngineView
调用

page()->runJavaScript("window.scrollTo(0, y);")
但是如果没有它当前的最大滚动值,我无法计算正确的值

因此,问题是:

有没有办法获取当前
QWebEngineView
的最大滚动值? 相当于

int max = widget->verticalScrollBar()->maximum()
换句话说。

我找到了解决办法

document.body.scrollHeight
是我要找的,所以我创建了一个常量字符串:

const QString ScrollJavaScript("window.scrollTo(0, document.body.scrollHeight * %1 / %2);");
在获得编辑器的当前滚动值和最大滚动值后(QPlainText):

我执行javascript:

if( maxP > 0 )
{
    m->preview->page()->runJavaScript(ScrollJavaScript.arg(cP).arg(maxP));
}
if( maxP > 0 )
{
    m->preview->page()->runJavaScript(ScrollJavaScript.arg(cP).arg(maxP));
}