IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> JavaScript知识库 -> QML语法基础 -> 正文阅读

[JavaScript知识库]QML语法基础

QML 是一种多范式语言,可以根据对象的属性以及它们如何关联和响应其他对象的变化来定义对象。 与纯粹的命令式代码相比,属性和行为的变化是通过一系列逐步处理的语句来表达的,QML 的声明式语法将属性和行为的变化直接集成到单个对象的定义中。 在需要复杂的自定义应用程序行为的情况下,这些属性定义可以包含命令式代码。

QML 源代码一般是由引擎通过 QML 文档加载的,QML 文档是 QML 代码的独立文档。 这些可用于定义 QML 对象类型,然后可以在整个应用程序中重复使用。 请注意,类型名称必须以大写字母开头,才能在 QML 文件中声明为 QML 对象类型

导入声明

一个 QML 文档可能在文件顶部有多个导入。导入可以是以下任何一种:

  • 已注册的c++自定义类型的版本化命名空间
  • 包含类型定义作为 QML 文档的相对目录
  • 一个 JavaScript 文件

JavaScript 文件导入必须在导入时进行限定,以便可以访问它们提供的属性和方法。

各种导入的通用形式如下:

  • import Namespace VersionMajor.VersionMinor
  • import Namespace VersionMajor.VersionMinor as SingletonTypeIdentifier
  • import "directory"
  • import "file.js" as ScriptIdentifier

例如:

  • import QtQuick 2.0
  • import QtQuick.LocalStorage 2.0 as Database
  • import "../privateComponents"
  • import "somefile.js" as Script

对象声明

在语法上,QML 代码块定义了要创建的 QML 对象树。对象是使用对象声明来定义的,这些声明描述了要创建的对象的类型以及要赋予该对象的属性。每个对象还可以使用嵌套对象声明来声明子对象。

对象声明由其对象类型的名称和一组花括号组成。 然后在这些大括号内声明所有属性和子对象。

子对象

任何对象声明都可以通过嵌套的对象声明来定义子对象。通过这种方式,任何对象声明都隐式地声明了一个可能包含任意数量的子对象的对象树。

例如,下面的 Rectangle 对象声明包括一个 Gradient 对象声明,该声明又包含两个 GradientStop 声明:

import QtQuick 2.0

Rectangle {
    width: 100
    height: 100

    gradient: Gradient {
        GradientStop { position: 0.0; color: "yellow" }
        GradientStop { position: 1.0; color: "green" }
    }
}

当引擎加载这段代码时,它会创建一个以 Rectangle 对象为根的对象树; 这个对象有一个 Gradient 子对象,它又具有两个 GradientStop 子对象。

注释

QML 中注释的语法类似于 JavaScript:

  • 单行注释以 // 开始并在行尾结束
  • 多行注释以 /* 开始,以 */ 结束
  JavaScript知识库 最新文章
ES6的相关知识点
react 函数式组件 & react其他一些总结
Vue基础超详细
前端JS也可以连点成线(Vue中运用 AntVG6)
Vue事件处理的基本使用
Vue后台项目的记录 (一)
前后端分离vue跨域,devServer配置proxy代理
TypeScript
初识vuex
vue项目安装包指令收集
上一篇文章      下一篇文章      查看所有文章
加:2021-10-24 14:50:47  更:2021-10-24 14:51:25 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年5日历 -2024/5/13 0:37:02-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码