Testing the Messaging Interface
The Qt Safe Renderer installation contains a test application called Testerapp that you can use for testing the Qt Safe Renderer messaging interface. You find the application under <Qt installation directory>/Examples/QtSafeRenderer-<version>/testerapp. You must have Python 3 installed before you can use Testerapp.
Testerapp is used together with the Telltales example.
Modifying test.py File
Testerapp has the python script test.py where you need to set your host and port. Open the test.py and edit the host and port information on basis of your test environment. On a host platform, Testerapp listens the port 32112.
- host = '127.0.0.1'
- port = 32112
Listening to Events on Target Device
In QNX, using Testerapp requires the Messageproxy application that listens to events from a network socket. It passes the events to the Qt Safe Renderer process via IPC (Inter-Process Communication).
You will find Messageproxy under <Qt installation directory>/Examples/QtSafeRenderer-<version>/testerapp/messageproxy. You need to build the Messageproxy application with a Qt compiled for QNX target. For building, you can use the example build instructions described in Building for QNX.
A similar approach can be used for developing a CAN (Controller Area Network) bus event listener. The CAN bus process can listen to system events and pass the events to the Qt Safe Renderer process via IPC messaging plugin. The Qt Safe Renderer installation does not provide the reference implementation of the CAN bus solution.
Sending Messages
In test.py, you can send events to Telltales as follows:
- v = createVisibilityEvent("iconCoolant", Value.ON)
- sendMessage(v)
"iconCoolant"
refers to the value of objectName
property in the .ui.qml file.
You can also send move events via test.py.
Files:
- testerapp/messageproxy/server.cpp
- testerapp/messageproxy/server.h
- testerapp/messageproxy/main.cpp
- testerapp/testerapp.pro
- testerapp/messageproxy/messageproxy.pro Running Examples on QNXIntegrating Qt Safe Renderer
Available under certain Qt licenses.Find out more.