在启动开发板上的程序时,经常会运行类似下面的脚本
./browser-display "LinuxFB:/dev/fb1" -geometry 1920x1080 -qws&
Qt程序不仅支持LinuxFB方式,还支持其它的方式,有DirectFB、qvfb、VNC、transformed及powervr
VNC(Virtual NetworkComputing)是虚拟网络计算机的缩写。VNC是一款优秀的远程控制工具软件,由著名的AT&T的欧洲研究实验室开发的。VNC是在基于UNIX和Linux操作系统的免费的开放源码软件,远程控制能力强大,高效实用,其性能可以和Windows和MAC中的任何远程控制软件媲美。
VNC基本上是属于一种显示系统,也就是说他能将完整的窗口界面通过网络,传输到另一台计算机的屏幕上.
通过VNC服务,我们可以在Windows或Linux系统上通过vncviewer来远程操纵VNC服务端。
Qt程序可以通过在命令行添加-display VNC:0来启动VNC服务端,也可以指定0以外的其它数字。从而不需要开发板有屏幕就能开发Qt图形界面程序
export QWS_SIZE=1920x1080
./browser -display VNC:0 -qws &
如果得到
---------------------------------------------
VNC:driver notfound
---------------------------------------------
的错误,是因为你的Qt库的gfxdrivers插件linuxfb未编译。
编译linuxfb十分简单,进入/qte-4.7.4/src/plugins/gfxdrivers/linuxfb目录运行
qmake
make clean
make
makeinstall
完成后将安装目录中的./plugins/gfxdrivers目录下的库拷贝到开发板中,并设置正确的插件路径,我的qt.conf设置如下:
-----------------------------------------------------------------------------------
[Paths]
Prefix = /usr/qte-4.7.4
Translations = share/qtopia/translations
Plugins = lib/qtopia/plugins
Libraries = lib
#Headers =include/qtopia
------------------------------------------------------------------------------------
然后再次运行程序
ifconfig
./browser -display VNC:0 -qws &
在Windows中启动VNC Viewer 4,连接开发板的IP,你就可以看到程序的UI界面了
参考文献:
1.使用VNC作为Qt-Embedded应用的输出,http://blog.sina.com.cn/s/blog_6d1656130100r4uf.html