A simple web browser based on Qt5 can be easily installed using the package repository for OpenSTLinux distribution service.
2 solutions exist:
- Qt® application
- Qt® Python™ application
1. qt-wpe-simple-browser[edit | edit source]
1.1. Installation[edit | edit source]
Board $> apt-get update
Board $> apt-get install qt-wpe-simple-browser
1.2. Usage[edit | edit source]
Board $> qt-wpe-simple-browser <url http://>
2. python3-pyqt5[edit | edit source]
2.1. Installation[edit | edit source]
Board $> apt-get update
Board $> apt-get install python3-pyqt5
Create the web_browser.py script:
# web_browser.py
# Copyright (c) STMicroelectronics
# License: BSD-3-Clause
from PyQt5.QtCore import *
from PyQt5.QtWidgets import *
from PyQt5.QtGui import *
from PyQt5.QtWebKitWidgets import *
import sys
class MainWindow(QMainWindow):
def __init__(self, *args, **kwargs):
super(MainWindow,self).__init__(*args, **kwargs)
self.setWindowTitle(sys.argv[1])
self.browser = QWebView()
self.browser.setUrl( QUrl(sys.argv[1]) )
self.setCentralWidget(self.browser)
self.show()
QApplication.setAttribute(Qt.AA_ShareOpenGLContexts)
app = QApplication(sys.argv)
window = MainWindow()
app.exec_()
2.2. Usage[edit | edit source]
Board $> python3 web_browser.py <url http://>
3. Display platform[edit | edit source]
Two solutions exist to display the web browser:
- using eglfs
- using Wayland
3.1. wayland[edit | edit source]
- Weston must be started. If you have stopped it, you can restart Weston with the following command
Board $> systemctl start weston@root
- Install qtwayland
Board $> apt-get install qtwayland
- Set Wayland egl as display platform
Board $> export QT_QPA_PLATFORM=wayland-egl
- Launch the Python web browser
Board $> qt-wpe-simple-browser <url http://>
or
Board $> python3 web_browser.py <url http://>
3.2. eglfs[edit | edit source]
- Stop the Weston application
Board $> systemctl stop weston@root
- Set eglfs as display platform
Board $> export QT_QPA_PLATFORM=eglfs
- And set the following variables
Board $> export QML2_IMPORT_PATH='/usr/lib/qt5/qml/'
Board $> export QT_QPA_EGLFS_ALWAYS_SET_MODE='1'
- Launch the web browser
Board $> qt-wpe-simple-browser <url http://>
or
Board $> python3 web_browser.py <url http://>
![]() |
With HDMI connection, it is advised to use the following kms eglfs_config.json config file in order to avoid cursor rendering issue.
{
"device": "/dev/dri/card0",
"hwcursor": false,
"pbuffers": true,
"outputs": [
{
"name": "HDMI1",
"mode": "1280x720"
}
]
}
Set Qt variable to use the json config file: KMS_CONFIG='/home/root/eglfs_config.json'Board $> export QT_QPA_EGLFS_ |