我有一个装有一些URL(如https://www.google.com)一个QWebEnginePage两个或两个以上QWebEngineView
我想两个QWebEngineViews要显示此页面QWebEnginePage的一个实例,但它看起来像Qt的不允许那。
一旦我在一个视图上调用setPage,其他视图将停止呈现页面。 看起来这是一个所有权或类似的问题,但我在Qt文档中没有看到任何关于此的信息。
其他人面临这样的问题?
auto p = new QWebEnginePage();
p->load(QUrl("https://www.google.com"));
auto w1 = new QWebEngineView();
auto w2 = new QWebEngineView();
w1->setPage(p);
w2->setPage(p);
w1->show();
w2->show();
我希望两个视图都显示相同的页面,但只有w2显示它。如果您稍后致电w1->setPage(p)
- 页面将显示在w1上并将从w2中消失。
UPD。 只想发表结论。 - QWebEnginePage的view()方法证明了一对一的关系。 - setPage源代码清楚地表明“第二次它只是从第一个视图断开。” - “如果当前页面是Web视图的子项,它将被删除。” - 根本不回答我的问题。我的页面不是Web视图的子项,并且不会被删除,只是不会像我期望的那样同时呈现这两个页面。
你说得对,我已经更新了我的答案与相关一件从未使用过QWebEnginePage ::观点方法的代码 – demonplus