详解 Qt MeegoTouch Framework
创始人
2024-08-01 06:51:28
0

Maemo与Moblin的合体产物Meego从出生就受到了大家的关注。且不谈Meego与iPhone还有Andriod的优势与差距,相较于Maemo来说,其UI方面确实进步了不少(WP7呢?)

Meego Touch Framework(MTF),作为提供给开发者的API lib,除了吸引更多的人投入到Meego大军中,也支持Linux下的应用开发。当然,Meego本身就是Linux下的产物,而MTF其实也仅仅是对Qt的封装。

想必大家多多少少都听到过Meegotouch这个概念了。Meego Touch Framework简称为MTF,它和QtMobility和Qt构成Meego 手机应用开发到最基础开发库。 MTF和QtMobility都是依赖于Qt的,顾名思义QtMobility负责和手机应用相关的一些功能,比如设备管理(蓝牙,网络连接),个人信息管理(通信录,日历…),电话功能(电话,短信…),多媒体处理等。

而MTF的主要功能是为了让开发者提供更方便得应用接口,用于实现更具动态效果的Meego 手机程序。通常情况下,程序员在开发Meego Qt应用时,将不会直接使用Qt提供的控件类,而是使用Meegotouch提供的控件类,它包含了MWidget,MButton等类,不过这些类并不继承于QWidget,QPushbutton等类,而是继承于QGraphicsWidget。也就是说Meego的界面开发都将基于QGraphicsView框架,所有在界面上的内容都将是一个QGraphicsItem,你可以方便的移动,旋转,缩放,以及各种动画效果。

详解 Qt MeegoTouch Framework

Meego Touch Framework的帮助文档在http://apidocs.meego.com/mtf/。MTF不仅可以在Meego平台上使用,同时也可以在普通Linux上使用,本文将介绍如何在X86上编译和使用MTF。

首先,需要安装Qt-4.7版本MTF 只在Qt-4.7以上的版本被支持,目前可用的是Qt-4.7-rc版,如何在Linux上编译Qt就不介绍了,不过在执行./configure的时候有两点需要注意

加上 -dbus 选项

加上 -opengl 选项

因为这两个功能是编译meegotouch必须的,如果编译Qt-4.7的时候没有使能该选项,编译Qt不会出错。等到编译libmeegotouch的时候出现问题再回来编译Qt-4.7又是一段漫长的时间。所以编译Qt-4.7的步骤大概是下面的样子

  1. zhu@CuteQt:~$ wget http://get.qt.nokia.com/qt/source/qt-everywhere-opensource-src-4.7.0-rc1.tar.gz  
  2. zhu@CuteQt:~$ tar xzf qt-everywhere-opensource-src-4.7.0-rc1.tar.gz  
  3. zhu@CuteQt:~$ cd qt-everywhere-opensource-src-4.7.0-rc1  
  4. zhu@CuteQt:~/qt-everywhere-opensource-src-4.7.0-rc1$ ./configure -debug -dbus -confirm-license -opengl -fontconfig  
  5. zhu@CuteQt:~/qt-everywhere-opensource-src-4.7.0-rc1$ make  
  6. zhu@CuteQt:~/qt-everywhere-opensource-src-4.7.0-rc1$ sudo make install 

编译libmeegotouch库从git 仓库上下载然后,编译安装就可以(git 仓库里的代码要比meego里用的要新,所以git中的一些例子是没法运行在meego中的)

  1. zhu@CuteQt:~$ git clone git://gitorious.org/meegotouch/libmeegotouch.git  
  2. zhu@CuteQt:~$ cd libmeegotouch  
  3. zhu@CuteQt:~/libmeegotouch $ export QTDIR=/usr/local/Trolltech/Qt-4.7.0/  
  4. zhu@CuteQt:~/libmeegotouch $ ./configure  
  5. zhu@CuteQt:~/libmeegotouch $ make  
  6. zhu@CuteQt:~/libmeegotouch $ sudo make install 

不过,到这个步骤,你用libmeegotouch库编译出来去编译程序还是无法运行的,需要再安装一个主题包

安装一个meegotouch主题包meego应用的主题(也就是css文件)分不同的级别,系统有一个样式表,每个应用又有自己的样式表,即使在同一个应用中也可以根据需要为某个控件设置一个独立的ID,然后给那个特有的ID加载样式表,详细内容,大家可以去apidocs.meego.com/mtf中去查找对应文档,下面只是简要介绍如果安装一个系统的默认主题包

  1. zhu@CuteQt:~$ git clone git://gitorious.org/meegotouch/meegotouch-theme.git  
  2. zhu@CuteQt:~$ cd meegotouch-theme  
  3. zhu@CuteQt:~/meegotouch-theme $ $QTDIR/bin/qmake #注意前面设置过QTDIR  
  4. zhu@CuteQt:~/meegotouch-theme $ sudo make install  

找个程序试试吧libmeego目录下有一个examples目录,和普通的Qt程序一样,执行qmake;make就可以了,下面是我运行的helloworld应用截图,是不是和传统的Qt程序感觉有点不一样,你可以利用鼠标将按钮拖动看看什么效果:)

如果你在运行helloworld的时候提示找不到libmeegotouchcore.so ,可以修改LD_LIBRARY_PATH变量为/urr/local/lib目录上。

另: 如果是你自己开发的meegotouch应用时,需要注意在.pro文件中加上 CONFIG+=meegotouch,这样才会将编译需要的头文件和库文件路径加入到Makefile中。

小结:Qt MeegoTouch Framework 对内容介绍完了,想必你对MTF多多少少了解了吧,***希望希望本文能对你有所帮助。

【编辑推荐】

1、新手必学 Qt Meego 初体验

2、关于 Qt MeeGo 中文字符串排序

3、Qt开发环境如何部署Mac OS

4、Qt Embedded基于PC调试嵌入式应用程序

5、在Qt框架下配置MeeGo SDK Xephyr运行环境

【责任编辑:李程站 TEL:(010)68476606】

相关内容

热门资讯

如何允许远程连接到MySQL数... [[277004]]【51CTO.com快译】默认情况下,MySQL服务器仅侦听来自localhos...
如何利用交换机和端口设置来管理... 在网络管理中,总是有些人让管理员头疼。下面我们就将介绍一下一个网管员利用交换机以及端口设置等来进行D...
施耐德电气数据中心整体解决方案... 近日,全球能效管理专家施耐德电气正式启动大型体验活动“能效中国行——2012卡车巡展”,作为该活动的...
Windows恶意软件20年“... 在Windows的早期年代,病毒游走于系统之间,偶尔删除文件(但被删除的文件几乎都是可恢复的),并弹...
20个非常棒的扁平设计免费资源 Apple设备的平面图标PSD免费平板UI 平板UI套件24平图标Freen平板UI套件PSD径向平...
德国电信门户网站可实时显示全球... 德国电信周三推出一个门户网站,直观地实时提供其安装在全球各地的传感器网络检测到的网络攻击状况。该网站...
着眼MAC地址,解救无法享受D... 在安装了DHCP服务器的局域网环境中,每一台工作站在上网之前,都要先从DHCP服务器那里享受到地址动...
为啥国人偏爱 Mybatis,... 关于 SQL 和 ORM 的争论,永远都不会终止,我也一直在思考这个问题。昨天又跟群里的小伙伴进行...