2016-03-16 3 views
4

Я знаю, что это можно сделать с устаревшим классом QtWebkit, как показано на рисунке here.Как я могу встроить пользовательский QWidget в QWebEngineView или страницу?

Хотелось бы узнать, могут ли подобные работы с новым каркасом QtWebEngine? Я не смог найти способ создания плагина на веб-странице (QWebEnginePage). Связано ли это с технологией плагина в Chromium?

В настоящее время я изучаю возможность достижения этого с помощью Qt 5.5.

+0

Я не думаю, что это возможно (так же, как Николас Смит), но, возможно, вы могли бы рассмотреть одну из этих альтернатив: (a) QML довольно близок к HTML, возможно, вместо этого использует QML? (b) Вы можете открыть объект Qt на веб-странице и взаимодействовать с ним через Javascript. Тогда вам придется рисовать виджет в JS. –

+0

Спасибо, Георг! Второй вариант, который вы дали, интересен. Но я думаю, что мне не повезло в этом случае использовать многие существующие QWidgets, которые мы разработали. Я хотел бы использовать существующий графический интерфейс для удаленного пользователя с помощью браузера. HTML5, конечно же, является хорошей альтернативой, но ему необходимо новое развитие на стороне клиента. – Ting

+0

Если ваши виджеты не интерактивны, вы можете нарисовать их за кадром и выставить их как изображение веб-движка. –

ответ

3

Я не могу найти совершенно четкий ответ, так или иначе, но в конце porting guide есть что-то, что бы предположить, что это больше не возможно:

Qt WebEngine делает веб-страниц с помощью Skia и не используя QPainter или Qt для этой цели. Стандарт HTML5 теперь также предлагает гораздо лучшие альтернативы, которые недоступны, когда в Qt WebKit были введены плагины собственных средств управления.

No QPainter будет означать, что во время рендеринга нет никакого способа нарисовать QWidget.

+0

Спасибо, Николас! Для меня это достаточно ясно. – Ting

Смежные вопросы