Breadcrumbs

QtWebBrowser

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

QtWebBrowserUrlBar.png

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

Accelerated2dCanvasEnabled

true

Specifies whether the HTML 5 2D canvas should be an OpenGL framebuffer. This makes many painting operations faster, but slows down pixel access.

AllowRunningInsecureContent

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.

DisableJavaScript

false

Enables the running of JavaScript programs.

EnablePlugins

false

Enables support for Pepper plugins, such as the Flash player.

PrivateBrowsing

false

enabling a private browsing mode that does not leave traces in the history and cookies.

AutoLoadImages

true

Automatically loads images on web pages.

EnableHTTPDiskCache

true

enables http disk caching

AutoReloadOnError

1

automaticly reloads webpage on load error

VirtualKeyboardEnabled

1

enables virtual keyboard

VirtualKeyboardStyle

default

set keyboard style

VirtualKeyboardLocale

en_GB

set default keboard layout

InitialURL


start url

InitialURL[1..10]


start url to open more webpages on start

CachePath

/tmp/qtwebbrowser_cache

Set disk cache patch if EnableHTTPDiskCache is enables

CacheSize

125829120

max cache size in bytes.

if value is 0 handled by system

IgnoreCertificateError

1

Ignore Certificate Errors

SystemConfigAutoLogin

1

allow to login to the webconfig without entering user and password

SystemConfigTimeout

10

webconfig login waiting window, if 0 skip the window

HideMouseCursor

0

enable hide the mouse cursor

SystemConfigUser

root

webconfig login user

SystemConfigPassword

root

webconfig login password

DeviceDisplayBrightness

/sys/class/backlight/backlight

sysfile path to backlight driver

ChromiumCmdLineSwitches

--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/

VirtualKeyboardActiveLocales

ar_AR,da_DK,de_DE,en_GB,en_US,es_ES,fa_FA,fi_FI,fr_FR,hi_IN,it_IT,ja_JP,ko_KR,nb_NO,pl_PL,pt_PT,ru_RU,sv_SE,zh_CN,zh_TW,

list of virtual keyboard layouts available for the user

GesturesEnabled

0

Enables Gestures like back, forward, pages

GesturesMinDiffStart

10

Min size in pixel from the edge to activate the gestures

LogLevel

2

Set LogLevel

PinchEnabled

1

Enable pinching of window

EnableHighDpiScaling

0

enables hight dpi scaling mode

RemoteProfilingDebuggingPort

0

Port accessing the built-in Chromium Developer Tools, 0 is disabled

StartDelay

0

set delay in seconds for the application to start

Height

0

window height, 0 for display height

Width

0

window width, 0 for display width

ScreenSaverTimeout

0

timeout in seconds of touch and keyboard inactivity to start the screensaver, 0 is disabled

ScreenSaverLogo

assets/icons/AppLogoColor.png

URL to grafic or url using in the screensaver

DownloadDirectory


path to download directory

DownloadDirectoryList

0

use sub directories located in the path, listet in as options

DownloadDirectoryTemp

/tmp

path to temp directory für downloads

UploadDirectory


path to upload directory

UploadDirectoryList

0

use sub directories located in the path, listet in as options

WatchdogEnabled

0

enabled watchdog to reboot the system if the browser crashes

WatchdogTimneout

0

watchdog timeout in seconds

BackgroundWorkerCycle

5

interval in seconds for the background thread (sync, etc)

VirtualKeyboardLocaleSaveByUserEnabled

0

enables saving the last keyboard layout changes to set is default for the next start

TriggerServerOK

0

enable monitoring of the webserver located by the url

TriggerServerOKReload

0

reloads the webpages if the monitoring fails

KioskMode

0

disable url navigation bar for fullscreen view of the browser

VirtualKeyboardSize

0

width in pixel for the virtual keyboard, 0 is fullsize

AnimationDuration

10

duration in ms for all animations in the browser app

PDFViewer

OpenInNewWindow

defines handling of pdf's in the browser.

OpenInNewWindow: use internal pdf viewer

else: download

RenderProcessTerminated


set rendering process terminating handling (not used)

SnapshotSizeDivider


Page view, snapshot size divider

ContextMenuEnabled

1

enables the context menu for the browser window

LoaderImage

assets/icons/loader.gif

URL grafic path to loading image, empty for hiding it

AppLogoColor

assets/icons/AppLogoColor.png

URL to grafic using for the background

AppLogoText

Qt WebBrowser

text using for the background

ScreenSaverActiveDisplayBrightnessReduce

0

value in percent to reduce the backlight if screensaver is on

ScreenSaverLogoType

0

set screensaver type

0: picture

1: url

SystemConfigURL


set full webconfig url

InitialLoadingImageEnable

0

enables static load screen with image till InitialURL could be loaded.

Only in KioskMode available.

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.