Web Engine Interfaces

WebEngine provides functionality for rendering dynamic web content into your application.

Web Engine API information

FxWebWidgetInterfaces.h API provides an ability to create and control Web View without exposing internal implementation and allows using Qt Web Engine implementation indirectly with no requirement to link against Qt Web Engine.

The API mainly consists of CFxWebView wrapper for Web View instance

CFxWebView wrapper is aligned with Qt interface: https://doc.qt.io/qt-5/qwebengineview.html

FxWebWidgetInterfaces.h has commented classes and methods to describe functionality.

The main header is a part of c:\Program Files\Graebert GmbH\ARES Commander 20XX SDK\Samples\Headers\inc


Why are wrappers needed?

  • Qt Web Engine is a pretty large library that may destruct the main application functionality regarding rendering, exception handling and main thread load

  • The most critical problem with the direct Qt Web Engine usage is OpenGL misalignment between Web Engine rendering and ARES graphical area rendering approach

  • ARES uses Qt Web Engine from background process on Windows to avoid interference between main application and web view internals

  • At the same time ARES uses Qt Web Engine via main process on macOS and Linux as Qt Web Engine is more stable on these platforms

  • Web View wrapper is required to have abstract layer between main application and Qt Web Engine implementation to make uniform experience for all platforms disregarding if Qt Web Engine is used within the main process or from background

  • Also Web View allows more flexible module management and easy migration if Web View implementation is changed. Plugin code shouldn't be changed if Web View internals are updated


WebWidget Sample : Creates a dockable widget with web view inside.

The sample shows how to use the wrapper (CFxWebView) instead of direct Web Engine usage (QWebEngineView interface) to create a dock widget with web content.

The sample can be found in c:\Program Files\Graebert GmbH\ARES Commander 20XX SDK\Samples\CFx\

Â