A
Qt for Embedded Linux
application requires a server application to be running, or to be the server application itself. Any
Qt for Embedded Linux
application can be the server application by constructing the
QApplication
对象采用
QApplication::GuiServer
type, or by running the application with the
-qws
命令行选项。
Applications can run using both single and multiple displays, and various command line options are available.
Note that this document assumes that you either are using the The Virtual Framebuffer or that you are running Qt for Embedded Linux 使用 VNC protocol, or that you have the Linux framebuffer configured correctly and that no server process is running. (To test that the Linux framebuffer is set up correctly, use the program provided by the Testing the Linux Framebuffer document.)
To run the application using a single display, change to a Linux console and select an application to run, e.g.
demos/textedit
. Run the application with the
-qws
选项:
cd path/to/QtEmbedded/demos/textedit ./textedit -qws
|
Provided that the environment variables are adjusted properly during the
installation process
, you should see the
文本编辑
demo appear.
It might be that the hardware drivers must be specified explicitly to make everything work properly. For more information, please consult the following documentation: |
|
Additional applications can be run as clients, i.e., by running these applications
without
the
-qws
option they will connect to the existing server as clients. You can exit the server application at any time using
Ctrl+Alt+Backspace
.
Qt for Embedded Linux also allows multiple displays to be used simultaneously. There are two ways of achieving this: Either run multiple Qt for Embedded Linux server processes, or use the ready-made
Multi
screen driver.
When running multiple server processes, the screen driver (and display number) must be specified for each process using the
-display
command line option or by setting the
QWS_DISPLAY
环境变量。例如:
./myfirstserverapplication -qws -display "transformed:rot90:1" ./mysecondserverapplication -qws -display "QVFb:2"
见 display management documentation for more details on how to specify a screen driver. Note that you must also specify the display (i.e., server process) when starting client applications:
./myclientapplication -display "QVFb:2"
There is no way of moving a client from one display to another when running multiple server processes. Using the
Multi
screen driver, on the other hand, applications can easiliy be moved between the various screens.
The
Multi
screen driver can be specified just like any other screen driver by using the
-display
command line option or by setting the
QWS_DISPLAY
环境变量。例如:
./myserverapplication -qws -display "Multi: QVFb:0 QVFb:1:offset=0,0 VNC:offset=640,0 :2"
见 display management documentation for details regarding arguments.
| 选项 | 描述 |
|---|---|
| -fn <font> |
Defines the application font. For example:
./myapplication -fn helvetica The font should be specified using an X logical font description. |
| -bg <color> |
Sets the default application background color. For example:
./myapplication -bg blue The color-name must be one of the names recognized by the QColor 构造函数。 |
| -btn <color> |
Sets the default button color. For example:
./myapplication -btn green The color-name must be one of the names recognized by the QColor 构造函数。 |
| -fg <color> |
Sets the default application foreground color. For example:
./myapplication -fg 'dark blue' The color-name must be one of the names recognized by the QColor 构造函数。 |
| -name <objectname> |
Sets the application name, i.e. the application object's object name. For example:
./myapplication -name texteditapplication |
| -title <title> |
Sets the application's title. For example:
./myapplication -title 'Text Edit' |
| -geometry <width>x<height>+<Xoffset>+<Yoffset> |
Sets the client geometry of the first window that is shown. For example:
./myapplication -geometry 300x200+50+50 |
| -keyboard |
Enables the keyboard. |
| -nokeyboard | Disables the keyboard. |
| -mouse |
Enables the mouse cursor. |
| -nomouse | Disables the mouse cursor. |
| -qws | Runs the application as a server application, i.e. constructs a QApplication object of the QApplication::GuiServer 类型。 |
| -display |
Specifies the screen driver. 另请参阅: Qt for Embedded Linux 显示管理 . |
| -decoration <style> |
Sets the application decoration. For example:
./myapplication -decoration windows
The supported styles are
另请参阅 QDecoration . |