紧凑高效的视窗系统 (QWS)
Qt
构建在标准的API上,应用于嵌入式Linux设备,并带有自己的紧凑视窗系统。基于Qt的应用程序直接写入Linux帧缓冲,解除了您对 X11 视窗系统的需求。
- 减少内存消耗,占位更小
- 可利用硬件加速图形硬件加速图形
- 可编译移除不常使用的组件与功能
虚拟帧缓冲 (QVFb)
Qt for Embedded Linux
提供一个虚拟帧缓冲器,可以采用点对点逐像素匹配物理设备显示。
- 真实的测试构架
- 在桌面系统上嵌入式测试
模拟物理设备显示的宽度、高度与色深
qdevelop
是一个跨平台集成开发环境,完全致力于
qt4
的开发
。它由一个
Qt
项目管理器,源代码编辑器,和通过调用
make
、
gdb
命令实现的自动构建工具组成。
qdevelop
的目的是易于使用,不会尝试与更完整的开发工具竞争,如
kdevelop
。它的目标是简单,强大,以及实现不同平台上接口的统一
[root@localhost root]# cd /mnt/hgfs/linux/
[root@localhost linux]# tar -zxvf qdevelop-v0.28.tar.gz -C /usr/local/
//
解压到指定目录
[root@localhost linux]# cd /usr/local/qdevelop-v0.28/
[root@localhost qdevelop-v0.28]# source /root/qt-x11.sh
[root@localhost qdevelop-v0.28]# echo $PATH
//
显示所有
PATH
路径
/usr/local/Trolltech/Qt-4.5.2//bin:/usr/local/arm/3.4.1/bin:/usr/local/arm/3.4.1/bin:/usr/local/arm/3.4.1/bin:/usr/local/arm/3.4.1/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/usr/X11R6/bin:/root/bin
[root@localhost qdevelop-v0.28]# ls
[root@localhost qdevelop-v0.28]# qmake QDevelop.pro
//
从错误提示中,在执行构建工程之前,先运行
lrelease QDevelop.pro
Project ERROR: Please run "lrelease QDevelop.pro" before building the project
[root@localhost qdevelop-v0.28]# lrelease QDevelop.pro
//
执行
lrelease QDevelop.pro
[root@localhost qdevelop-v0.28]# qmake QDevelop.pro
//
执行检测头文件及库文件,然后生成
Makefile
文件。
[root@localhost qdevelop-v0.28]# make
//
编译生成执目标文件及执行文件
[root@localhost qdevelop-v0.28]# vi +52 src/InitCompletion.cpp
//
打开并编辑
InitCompletion.cpp,
跳到文件的
52
行
[root@localhost qdevelop-v0.28]# make
//
编译源代码
src/InitCompletion.cpp: In destructor `virtual
InitCompletion::~InitCompletion()':
src/InitCompletion.cpp:52: parse error before `+' token
src/InitCompletion.cpp:53: confused by earlier errors, bailing out
make: *** [build/o/unix/InitCompletion.o] Error 1
//
初始化程序写法,编译器不识别
将
QFile( QDir::tempPath()+"/"+file ).remove();
修改为:
QString str = QDir::tempPath()+"/";
QFile(str + file).remove();
[root@localhost qdevelop-v0.28]# make install
//
安装
Qdevelop
install -m 755 -p "bin/qdevelop" "/usr/bin/qdevelop"
strip "/usr/bin/qdevelop"
[root@localhost qdevelop-v0.28]# qdevelop
//
执行测试
qdevelop
效果
写一个显示
Button
窗口部件
环境的搭建及测试!!
vi qt-x11.sh
#!/bin/sh
export QTDIR=/usr/local/Trolltech/Qt-4.5.2/
export PATH=$QTDIR/bin:$PATH
export LD_LIBRARY_PATH=$QTDIR/lib:$LD_LIBRARY_PATH
vi qt-x86.sh
#!/bin/sh
export QTEDIR=/usr/local/Trolltech/QtEmbedded-4.5.2-x86/
export PATH=$QTEDIR/bin:$PATH
export LD_LIBRARY_PATH=$QTEDIR/lib:$LD_LIBRARY_PATH
[root@localhost root]# mkdir quit
//
创建一个
quit
目录
[root@localhost root]# cd quit/
//
切换到
quit
目录
[root@localhost quit]# vi main.cpp
//
创建编辑
main.cppC++
源文件
#include <QApplication>
#include <QPushButton>
int main(int argc,char *argv[])
{
QApplication app(argc,argv);
QPushButton *button = new QPushButton("Quit");
QObject::connect(button,SIGNAL(clicked()),&app,SLOT(quit()));
button->show();
return app.exec();
}
//
编写以上的程序,一个按钮小程序测试
[root@localhost quit]# cd ../
//
切换到
quit
上级目录
[root@localhost root]# ls
//
显示该目录下的文件
[root@localhost root]# source qt-x86.sh
//
加载
qt-x86.sh
文件,设置临时的编译文件所需工具的路径及库连接
[root@localhost root]# echo $PATH
//
显示设置的编译器
qmake
的路径设置
[root@localhost root]# cd quit/
//
切换到
quit
目录
[root@localhost quit]# qvfb -width 320 -height 240 &
//
[root@localhost quit]# ./quit -qws
在虚拟缓冲帧显示效果:
本文转自 chen138 51CTO博客,原文链接:http://blog.51cto.com/chenboqiang/339655,如需转载请自行联系原作者