`
mmdev
  • 浏览: 12946687 次
  • 性别: Icon_minigender_1
  • 来自: 大连
文章分类
社区版块
存档分类
最新评论

QML for QT 1

 
阅读更多

因为工作原因,今天开始正式进入qml的研究学习中。

QML for Qt编程

概述

如果你之前没有学习过qt,那没关系,当然如果你之前结果过qt那更好,因为相对于qt,qml还是有很大的不同,但是我今天想以类比法开始qml的学习,呵呵 原因你懂的,能找到这篇文章,这说明你肯定或多或少的接触过qt。

熟悉的概念

QML提供了直接访问qt的以下几个概念:

Qt的知识是必要扩展QML在C + +,也为整合现有的Qt UI代码QML

QML Items PK QWidgets

QML的Items非常相似于QWidgets:它们定义的外观和感觉的用户界面。(请注意,虽然QWidgets一般不使用定义的外观和感觉,但是QMLitems可以用于这一点。)

结构上有三种不同类型的QWidget的

下面看看items

谨记,在C + +实施新的QDeclarativeItem,它不应该包含任何外观政策-留给该项目的QML使用。
举一个例子,假设你想要一个可重复使用的按钮项。如果你因此决定写一QDeclarativeItem子类来实现一个按钮,就如同用QWidget的QToolButton子类这一宗旨,遵循上面的规则,你QDeclarativeButton不会有任何外观-启用的只是概念,发射机制等。
但是在Qt中已经有了一个对象,它是:QAction
QPushButton, QCheckBox, QMenu items, QToolButton等一些 可见的空间通常绑定了一个 QAction.
因此QAction实现了一个抽象的复选框模型,在外观和操作感觉-按钮的外观,状态之间的转换,以及究竟如何响应鼠标,键或触摸输入,都应该留在QML的定义。
还有一个值得注意的地方,QDeclarativeTextEdit取决于QTextControl,QDeclarativeWebView是建立在QWebPageListView的使用QAbstractItemModel,就像QTextEditQWebViewQListView的关系一样。
封装的外观和感觉的QWidgets让人觉得很直观,QML于此也有异曲同工之妙。如果你正在构建一个应用程序应该有一致的外观和感觉,你应该建立外观的可重复使用的组件集。
因此,要实现你的可重复使用的按钮,只需建立一个QML组件。

家长部件

每个家长部件提供一个通用的方法接口给一个或多个部件。一个QTabWidget提供了一个接口,多个“页”,其中之一就是在任何时候可见,是引起他们(选择机制QTabBar)。QScollArea提供约束一个小部件是否则过大,以适应可用空间滚动条。

几乎所有这些组件都可以直接创建在QML。只有少数情况下,需要非常特别的事件处理,如Flickable,需要C + +实现。




分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics