C++ Qt/QML:WebEngineView和ScrollView
我有一个桌面应用程序,其中有一个C++ Qt/QML:WebEngineView和ScrollView,c++,qt,qml,qtwebengine,C++,Qt,Qml,Qtwebengine,我有一个桌面应用程序,其中有一个滚动视图,其中包含一个列表视图,其中每个代理都包含多个小部件,包括一个WebEngineView: ScrollView { id: myScrollView anchors.fill: parent; ListView { id: myListView delegate: Item { Rectangle {
滚动视图
,其中包含一个列表视图
,其中每个代理都包含多个小部件,包括一个WebEngineView
:
ScrollView
{
id: myScrollView
anchors.fill: parent;
ListView
{
id: myListView
delegate: Item
{
Rectangle
{
Text ...
Text ...
// other stuff
WebEngineView
{
id: myWebEngineView
Component.onCompleted:
{
loadHtml(model.modelData.someHTMLData);
}
}
}
}
}
}
我遇到的问题是滚动。在Mac电脑上,如果我使用触摸板滚动,则只有当鼠标悬停在一个非WebEngineView小部件上时,ListView才会滚动
我怀疑WebEngineView
小部件正在捕获鼠标消息,但我无法找到阻止这种情况发生的方法。我怎样才能做到这一点呢?关于Qt Quick,我知道的一件事是它有
据此,您可以使用FocusScope
s和
例如,将ListView
的焦点设置为true,使用focus:false将代理放入FocusScope
。或者将WebEngineView
的焦点设置为false
希望这对我有所帮助。不久前我也遇到过类似的问题,最终我放弃了在列表中添加多个WebEngineView
,完全用HTML/Javascript重写ListView
。@Ericsir先生,我已经多次考虑过要走同样的路,尽管我真的很难避免它。啊。