Qt Quick 快速浏览

作者:Johan Thelin

Qt 4.7 尚未发布,但有兴趣的人可以下载 beta 版,甚至从 git 获取快照。 此版本的一大亮点是 Qt Quick,这是一种用户界面的新方法。

在我开始滔滔不绝并向您展示屏幕截图之前,让我们回顾一下今天的用户界面。 在桌面上,标准的按钮、滑块、文本字段和窗口仍然有用。 然而,在如今所有运行 Linux 的设备上,灰色的按钮被认为很无聊。 相反,用户想要流畅、动画、光鲜的用户界面,以配合设备的品牌形象。 这就是 Qt Quick 的用武之地。

回到 Qt Quick。 可以说该解决方案由两部分组成:QtDeclarative 模块,它在 Qt 应用程序中运行并集成 Qt Quick,以及 QML 语言。 使用 QtDeclarative,可以在 C++ 和 QML 之间共享对象,以及将 C++ 类插入 QML 等。 QML 语言是一种全新的语言,主要用于创建用户界面,但在其他应用程序中也很有用。

那么,QML 看上去、闻起来和感觉起来如何? 让我们看一个最简单的例子

import Qt 4.6

Rectangle {
    width: 200
    height: 200

    Text {
        text: "Linux Journal"
        font.pointSize: 10
        font.bold: true

        anchors.centerIn: parent
    }
}

阅读代码并查看本文随附的屏幕截图几乎可以解释一切。 每个以大写字母开头的单词(Rectangle 和 Text)都会创建一个新对象。 外部的 Rectangle 构成了我们必须使用的区域。 然后设置属性。 anchors 属性要求 Text 保持在父元素(即 Rectangle)的中心,以便在用户调整窗口大小时,文本将保持定位。

所以,我谈到了流畅、动画、光鲜的用户界面,并且我已经向您展示了白色表面上的一个简单文本字符串。 好吧,将以下属性赋值添加到 Text,您会感到惊讶。

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

现在文本正在疯狂旋转(如屏幕截图所示)! 实际上,您所做的是将属性绑定到 NumberAnimation 对象生成的值。 Qt Quick 还有很多东西 - 状态、效果和炫酷的元素。 此外,还有将 QML 与 C++ 后端集成的问题。 我向您展示了旋转文本,但可能性是无限的。 它们确实是。

加载 Disqus 评论