Qt WebBrowser is a browser for embedded devices developed using Qt and Qt WebEngine.
Using current Chromium, it offers up-to-date HTML technologies.
The focus from the look and feel is minimal, but implemented with a touch-friendly user interface.
Features
Qt WebEngine uses Chromium to provide a state-of-the-art, high-performance HTML5 web engine.
Video and Audio
Chromium and thus the Qt WebEngine integrate directly with OS services to access video and audio devices.
Full Screen Mode
Videos can be played in full screen mode.
Developer Tools
Qt WebEngine supports remote access to the built-in Chromium Developer Tools. This allows debugging and optimizing individual pages on the device.
Virtual Keyboard
The integrated Qt Virtual Keyboard slides in whenever text input is required. It allows text to be entered in a variety of different languages.
Notifications
Notifications are supported.
Authentification
An authentication window is supported.
File Up-/Download
File Up/Download window is supported.
Color Picker
A color picker window is supported.
Alert, Confirm
An alert and confirm window is supported.
Kiosk Mode
A kiosk mode (fullscreen mode) is supported.
Turn page
The view of the page can be moved by pressing and moving a finger.
Zoom page
Zoom in or out on a specific section of the page by squeezing your fingers together.
Bookmark management
Individual pages can be bookmarked by pressing the Bookmark key. Pressing the same key again removes the page from the bookmarks.
The bookmarks are saved in the bookmarks.ini file.
Swipe Gestures
Additionally, swipe gestures (back, forward, pages) are supported if enabled in the settings.
User Interface
The Back button (1) and the Forward button (2) navigate through the history of previously visited pages.
The Input Bar (3) allows the user to enter and edit URLs or search for text.
It also allows reloading a page or pausing a currently loaded page.
The Bookmarks button (6) can be used to bookmark pages, and the bookmarked pages can be accessed via the Home button (4).
The Pages button (5) allows the user to manage the currently opened pages.
Source base
This QtWebBrowser is based on the qtwebbrowser from qt Company.
The original source code came from https://code.qt.io/cgit/qt-apps/qtwebbrowser.git/
Some changes have been made:
-
Replaced the settings menue with an config file
-
added a screen saver
-
added a kioskmode
-
added possibility to enable remote debugging for websites
-
support for watchdog
-
cache saved in a ramdisk
-
systemwebconfig support
-
Gestures
-
Dialog for Download, Upload, Color Picker, Alert, Confirm
-
Server Monitoring
-
Notifications
-
PDF Viewer
-
Web Content Manipulation
Settings
All settings of the QtWebBrowser are contained in the settings.ini file in the "/opt/qtwebbrowser" directory.
|
Einstellung |
Standardwert |
Beschreibung |
|---|---|---|
|
|
true |
Specifies whether the HTML 5 2D canvas should be an OpenGL framebuffer. This makes many painting operations faster, but slows down pixel access. |
|
|
false |
By default, HTTPS pages cannot run JavaScript, CSS, plugins or web-sockets from HTTP URLs. This used to be possible and this provides an override to get the old behavior. |
|
|
false |
Enables the running of JavaScript programs. |
|
|
false |
Enables support for Pepper plugins, such as the Flash player. |
|
|
false |
enabling a private browsing mode that does not leave traces in the history and cookies. |
|
|
true |
Automatically loads images on web pages. |
|
|
true |
enables http disk caching |
|
|
1 |
automaticly reloads webpage on load error |
|
|
1 |
enables virtual keyboard |
|
|
default |
set keyboard style |
|
|
|
set default keboard layout |
|
|
|
start url |
|
|
|
start url to open more webpages on start |
|
|
|
Set disk cache patch if |
|
|
|
max cache size in bytes. if value is 0 handled by system |
|
|
1 |
|
|
|
1 |
allow to login to the webconfig without entering user and password |
|
|
10 |
webconfig login waiting window, if 0 skip the window |
|
|
0 |
enable hide the mouse cursor |
|
|
root |
webconfig login user |
|
|
root |
webconfig login password |
|
|
|
sysfile path to backlight driver |
|
|
--no-sandbox --disable-embedded-switches --gpu-no-context-lost --enable-impl-side-painting --enable-native-gpu-memory-buffers --disable-blink-features=BlockCredentialedSubresources --num-raster-threads=4 --ignore-gpu-blacklist --enable-draw-occlusion --disable-gpu-vsync --touch-events=enabled |
chromium engine switches https://peter.sh/experiments/chromium-command-line-switches/ |
|
|
|
list of virtual keyboard layouts available for the user |
|
|
0 |
Enables Gestures like back, forward, pages |
|
|
10 |
Min size in pixel from the edge to activate the gestures |
|
|
2 |
Set LogLevel |
|
|
1 |
Enable pinching of window |
|
|
0 |
enables hight dpi scaling mode |
|
|
0 |
Port accessing the built-in Chromium Developer Tools, 0 is disabled |
|
|
0 |
set delay in seconds for the application to start |
|
|
0 |
window height, 0 for display height |
|
|
0 |
window width, 0 for display width |
|
|
0 |
timeout in seconds of touch and keyboard inactivity to start the screensaver, 0 is disabled |
|
|
|
URL to grafic or url using in the screensaver |
|
|
|
path to download directory |
|
|
0 |
use sub directories located in the path, listet in as options |
|
|
/tmp |
path to temp directory für downloads |
|
|
|
path to upload directory |
|
|
|
use sub directories located in the path, listet in as options |
|
|
0 |
enabled watchdog to reboot the system if the browser crashes |
|
|
0 |
watchdog timeout in seconds |
|
|
5 |
interval in seconds for the background thread (sync, etc) |
|
|
0 |
enables saving the last keyboard layout changes to set is default for the next start |
|
|
0 |
enable monitoring of the webserver located by the url |
|
|
0 |
reloads the webpages if the monitoring fails |
|
|
0 |
disable url navigation bar for fullscreen view of the browser |
|
|
0 |
width in pixel for the virtual keyboard, 0 is fullsize |
|
|
10 |
duration in ms for all animations in the browser app |
|
|
|
defines handling of pdf's in the browser.
|
|
|
|
set rendering process terminating handling (not used) |
|
|
|
Page view, snapshot size divider |
|
|
1 |
enables the context menu for the browser window |
|
|
|
URL grafic path to loading image, empty for hiding it |
|
|
|
URL to grafic using for the background |
|
|
|
text using for the background |
|
|
0 |
value in percent to reduce the backlight if screensaver is on |
|
|
0 |
set screensaver type 0: picture 1: url |
|
|
|
set full webconfig url |
|
InitialLoadingImageEnable |
0 |
enables static load screen with image till
|
|
InitialLoadingImageFile |
assets/icons/AppLogoColor.png |
static load screen image file url, show in original site and centered. |
|
InitialLoadingImageBackgroundColor |
white |
static load screen background color. |
|
InitialLoadingImageRetryCounterColor |
black |
static load screen retry counter color. |
|
InitialLoadingImageRetryCounterPreText |
|
static load screen retry counter pre text. |
|
InitialLoadingImageRetryCounterEnable |
0 |
static load screen retry counter, show on the top right. |
|
InitialLoadingImageRetryCounterMin |
0 |
static load screen retry counter min value before visible. |
|
InitialLoadingImageRetryCounterSize |
16 |
static load screen retry counter test size. |
|
TabViewMaxTabs |
10 |
Maximum of allowed open tabs. |
HTML Content Manipulation
Runs the specified JavaScript in the file "/proc/qtwebbrowser/RunOnLoadSuccess.js" if the webpage is sucessfully loaded.
This allows directly to load and manipulate web content.
Yocto Build Variables
|
Name |
Default Value |
Description |
|---|---|---|
|
DISABLE_MINIFY |
0 |
if 1 all html, css and js files will not executed with uglifyjs to reduce the size. |
|
QTWEBBROWSER_DISABLE_WEBCONFIG |
0 |
if 1 no files for the webconfig will be integrated. |