三分钟Qt Quick入门

Qt Quick是一种设计用户界面的新方法。

在介绍Qt Quick之前,让我们先看一下现念的用户界面UI是什么样的。在桌面操作系统下,标准的按钮,文本框,窗体仍然能满足要求。但是这些千篇一律的灰色单调的控件渐渐让用户感到厌倦了。用户们更想看到平滑观感的,光泽的,动态的的用户界面。Qt Quick就是为了实现这些的目标。

Qt Quick包括两个部分。第一部分是QtDeclarative模块。这个模块负责把Qt Quick集成到Qt应用程序中。第二部分是一种界面描述语言:QML。使用QtDeclarative使得开发者能够在C++和QML之间共享数据对象,也可以把C++类插入到QML之中,等等。QML是个全新的语言,专门为设计用户界面设计,在其它的开发中也有用武之地。

迫不及待了吧。让我们看一个简单的例子:

import Qt 4.6

Rectangle {
width: 200
height: 200

Text {
text: "hello! ykyi.net"
font.pointSize: 10
font.bold: true

anchors.centerIn: parent
}
}

读完这断代码,再尝试在Qt Creator中运行它。不用我多费口舌,你就恍然大悟了。每一个以大写字母开头的单词定义了一个新的对象。最外面的矩形则是主窗体,可以给它设置属性。比如anchors属性把Text限定在窗体的中央。这样,即使窗体放大了,文本仍然显示在窗体正中央。

前文,我有说过平滑观感的,光泽的,动态的的用户界面。那么Qt Quick怎么做到呢?简单!看看下面的代码,编辑Text的属性,设置rotation:NumberAnimation。不可思议的事情就发生了!

rotation: NumberAnimation {
to: 360;
duration: 1500;
running: true;
repeat: true;
}

现在,指定的文本疯狂的转动起来。我们已经看到在Qt Quick中开发有物资的界面是多么简单。我们所展示的只是Qt Quick特效的凤毛一角,最终能创造出什么样的奇幻效果只受限于你的想象力。

copyright ykyi.net

使用Necessitas在Android平台上运行Qt程序失败

什么是 Necessitas?

NecessitasQtAndroid操作系统上的一个移植,同时提供了Qt CreatorAndroid的集成。Necessitas计划为你提供了Android平台下的Qt,以及一个一流的平易近人的IDE,方便你在安卓平台下管理,开发,部署,运行 调试你的Qt应用。

什么是Minstro?

Necessitas也是Ministro的官网。MinistroLGPL Qt共享库提供了一个系统范围的下载器(downloader)和安装器(installer)。你可以在Andorid软体市场获得Ministro

如何安装Necessitas SDK开发包?

相当地easy啊!http://sourceforge.net/projects/necessitas/files/ 下载sdk开发包。有linux, win, mac 三个平台下的。安装过程傻瓜式 next next next 。哥尝试在Linux下安装出错了。安装程序没有加载起来。

zausiu@potassium:/tmp$ ./necessitas-0.3-online-sdk-installer-linux 

./necessitas-0.3-online-sdk-installer-linux: error while loading shared libraries: libgobject-2.0.so.0: cannot open shared object file: No such file or directory

 

我先尝试在deibian安装linux版本。结果安装文件启动时加载libglobject.so失败了!但是明明在/lib目录下啊!解决不了,唔知点解!就只好在win7下安装了windows版本。注意要勾选上装 ant,如果你的系统里之前没有安装ant的话。装好ant后还要把ant的路径添加入环境变量里。

如何安装Android SDK开发包?

去官网下载了然后安装。简单地令人发指!!!哥不能讲怎么安装它,免得说我侮辱你的智慧。

http://developer.android.com/sdk/index.html

开始开发

运行在安卓上的Qt程序被编译成共享对象(shared objects)。一个Java Launcher,已经集成在necessitas sdk里,会加载这个shared objects。当然,对于应用开发者,这个Java Launcher是完全透明的。要注意的是,Qt包含了很多互相引用的库,只有Android V1.6以上才支持这个functionality

 

哈。最最重要的。尝试第一个将被部署到android上的Qt应用。用安装好的 Necessitas Qt Creator创建了一个GUI程序。运行。。。运行。报错了!!!哭啊。

ma-make: *** [install_target] Error 2

The process "D:\necessitas\QtCreator\bin\ma-make.exe" exited with code 2.

Error while building project 4android (target: Android)

When executing build step 'Copy application data'

"When executing build step 'Copy application data'"google了一下。木有得到有价值的信息。不知道如何解决啊。哈~~那就不管了!!!

copyright ykyi.net