У меня есть один экземпляр QWebEnginePage, который загружается с некоторыми URL (например, https://www.google.com)Один QWebEnginePage для двух или более QWebEngineView
Я хочу эту страницу, чтобы отображаться в двух QWebEngineViews, но это выглядит как 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. Просто хочу опубликовать заключение. - метод view() QWebEnginePage проверяет отношения один-один-один. - исходный код setPage ясно показывает, что «второй раз он просто отключается от первого вида». - «Если текущая страница является дочерним элементом веб-представления, она будет удалена». - не отвечает на мой вопрос вообще. Мои страницы не являются дочерними элементами веб-представления и не удаляются, просто не отображаются оба раза, как я ожидал.
Вы правы, я обновил свой ответ с соответствующим фрагментом кода – demonplus