返回介绍

Running Qt/Embedded applications

发布于 2019-10-04 14:57:56 字数 3290 浏览 822 评论 0 收藏 0

A Qt/Embedded application requires a master application to be running
or to be a master application itself. The
master application is primarily responsible for managing top-level window
regions, and pointer and keyboard input.

Any Qt/Embedded application can be a
master application by constructing the QApplication object with the
QApplication::GuiServer type, or running the application with the
-qws command line option.

This document assumes you have the Linux framebuffer configured correctly
and no master process is running. If you do not have a working Linux
framebuffer you can use the
Qt/Embedded virtual framebuffer, or you can
run Qt/Embedded as a VNC server.

Change to a Linux console and select an example to run, e.g. examples/widgets.
Make sure $QTDIR is set to the directory where you installed Qt/Embedded
and add the $QTDIR/lib directory to $LD_LIBRARY_PATH, e.g.:

export QTDIR=$HOME/qt-VERSION
export LD_LIBRARY_PATH=$QTDIR/lib:$LD_LIBRARY_PATH

Run the application with the -qws option:

cd $QTDIR/examples/widgets
./widgets -qws

You should see the widgets example appear. If your mouse doesn't work
correctly you need to specify the type of mouse to use.
You can exit the master application at any time using Ctrl+Alt+Backspace.

If you wish to run additional applications you should run them as clients
i.e. without the -qws option.

Displays

Qt/Embedded allows multiple displays to be used simultaneously by running
multiple Qt/Embedded master processes. This is achieved using the -display
command line parameter or the $QWS_DISPLAY environment variable.

The -display parameter's syntax is:

    [gfx driver][:driver specific options][:display number]

for example if you want to use the mach64 driver on fb1 as display 2:

    $ ./launcher -display Mach64:/dev/fb1:2

To try this functionality you can do the following:

  1. Change to VC 1 and run the launcher:

        $ cd examples/launcher
        $ ./launcher
    

  2. Switch to VC 2 and run another one:

        $ cd examples/launcher
        $ ./launcher -display :1
    

    Another launcher will be started. Start an application in this launcher.

  3. Press Ctrl+Alt+F1 - back to display 0. You can also start additional
    applications on a particular display by specifying the display id. Change
    to VC 3:

        $ cd examples/widgets
        $ ./widgets -display :1
    

    will display the widgets example on dislpay :1 (VC 2).

Only the master process needs to specify the driver/device part explicitly.
The clients get the information they need from the master when they connect.
So once you have a master server running using a particular driver, you can
just use "client -display :n" to use display n.

Mouse Input

At the time of writing Qt/Embedded supports MouseMan (default), Microsoft,
IntelliMouse and some other devices specific to certain hardware (e.g. Vr
touch panel). To specify the mouse to use set the $QWS_MOUSE_PROTO environment
variable, e.g.:

export QWS_MOUSE_PROTO=IntelliMouse

See also Qt/Embedded Pointer Handling.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文