小技巧:

1. QML的内部逻辑可以直接调试

2. ctrl+ alt + space,在写QML时,可以直接调出工具条

3. 属性以小写字母开发

4. 属性改变事件,基本都是on+Property+Changed

5. 在代码里使用qrc资源的qml,在从qrc的item复制路径下添加qrc,然后冒号后再加一个斜杠如qrc:///main.qml;如果你的qml文件在qrc的分类中,

不是放在/分类下,不用添加该斜杠。在qml中直接在复制地址前加qrc即可

6.findChild使用里面的参数,对应的是QML中的objectName,不是QML中的id

7.QML对象,如果没有设置id,则使用时才初始化,如果设置了id,则一开始就初始化了

8.QML子对象可以直接使用父对象的属性,跨文件的情况同样可用

待续。。。

名词解释

1.QQuickView 提供了一个窗体用于显示UI

2. QQuickEngine 提供QML运行环境

3. QQuickWindow 显示窗体, 以及对item对象的管理及用户交互

编码约定:

QML文件分成下面几个部分:

id:

对象属性

属性声明(私有属性加__):

信号声明

JS函数

计时器、FileDialog之类

子对象

状态

状态切换

不同部分中间空一行;尽量用分组属性;如果JS函数较多,可以放到一个js文件中;

如果component,尽量另起段落,不接在后面写。需要的时候,通过id应用

JS使用总结注意点:

1.QML定义的function可以全局使用,子对象能使用父对象的函数,父对象不能直接使用

2.不能修改JS变量给其他文件使用,每次import相对于基于js创建一个新的对象

3.可以使用Qt.binding,进行属性值的绑定

QML模块导入:

1.Qt内置的,使用import即可

2.相对文件夹路径的 import "..\..\'方式

3.qrc文件的,qrc中不同prefix下面的qml使用,用下面方式可以

import "qrc:/Test/"// as MyModule
import "qrc:/Test/MYRect/"

4.其他import使用,请在qt帮助下搜索import

Qt之QML开发常用知识的更多相关文章

  1. Qt移动应用开发(八):实现跨平台的QML和OpenGL混合渲染

    Qt移动应用开发(八):实现跨平台的QML和OpenGL混合渲染 上一篇文章讲到了利用C++这个桥梁,我们实现了QML和Java的交互.Qt 5大力推崇的QML/JS开发,让轻量.高速开发的QML/J ...

  2. Qt移动应用开发(六):QML与C++互动

    Qt移动应用开发(六):QML与C++互动 上一篇文章讲到了在Qt Quick中实现场景切换的一种可能的方法,场景切换是诸如游戏等应用在内必需要面临的技术难点,所以场景切换并没有通行的方法,依据自己的 ...

  3. Ext常用开发基础知识

    Ext常用开发基础知识 组件定义 //这种方法可以缓存所需要的组件 调用起来比较方便(方法一 ) Ext.define('MySecurity.view.home.HomePanel', { //添加 ...

  4. 快速全面了解QT软件界面开发技术

    快速全面了解QT软件界面开发技术     目录 前言 一. 学习QT可能的目的是什么? 只想体验一下QT? 当前的项目选择了用QT. 为将来做QT技术储备. 二. QT的核心技术优势是什么? QT在软 ...

  5. 【基于WPF+OneNote+Oracle的中文图片识别系统阶段总结】之篇一:WPF常用知识以及本项目设计总结

    篇一:WPF常用知识以及本项目设计总结:http://www.cnblogs.com/baiboy/p/wpf.html 篇二:基于OneNote难点突破和批量识别:http://www.cnblog ...

  6. 移动端 Web 开发前端知识整理

    文章来源: http://www.restran.net/2015/05/14/mobile-web-front-end-collections/ 最近整理的移动端 Web 开发前端知识,不定期更新. ...

  7. Qt for Android开发环境搭建及测试过程记录

    最近学习了Qt的QML编程技术,感觉相较于以前的QtGUI来说更方便一些,使用QML可以将界面与业务逻辑解耦,便于开发. QML支持跨平台,包括支持Android平台,因此可以使用Qt的QML进行An ...

  8. javascript常用知识点集

    javascript常用知识点集 目录结构 一.jquery源码中常见知识点 二.javascript中原型链常见的知识点 三.常用的方法集知识点 一.jquery源码中常见的知识点 1.string ...

  9. HTML5-移动开发常用技巧与弹性布局的使用

    一.移动开发常用技巧 Viewport基本知识 设置布局Viewport的各种信息 1.width=device-width: 设置Viewport视口宽度等于设备宽度 2.initial-scale ...

随机推荐

  1. 1094 The Largest Generation

    题意:略. 思路:层序遍历:在结点中增加一个数据域表示结点所在的层次. 代码: #include <cstdio> #include <queue> #include < ...

  2. 浅谈PHP面向对象编程(二、基础知识)

    和一些面向对象的语言有所不同,PHP并不是一种纯面向对象的语言,包PIP它支持面向对象的程序设计,并可以用于开发大型的商业程序.因此学好面向对象输程对PHP程序员来说也是至关重要的.本章并针对面向对象 ...

  3. 线程之 CPthon中的GIL与Lock的分析与解决办法

    Cpython 中的GIL锁介绍 1. 前戏 In CPython, the global interpreter lock, or GIL, is a mutex that prevents mul ...

  4. Java EE学习路线

    题记: 不行动,注定是个失败者! 1.coding:servlet->jsp 通过看视频快速上手 2.reading:Thinking in java 英文版 时间协调安排: 1.上课时认真听课 ...

  5. ASU一位图形学老师推荐的book list

    http://peterwonka.net/Documentation/BooksToRead.htm 包括数学.图形学.OpenGL等资料

  6. 你应该使用 Django admin 的 9 个理由(转)

    你应该使用 Django admin 的 9 个理由 “问题是,我问到的每个人都持反对意见,他们认为 admin 只限于超级用户,很不灵活并且是难以定制.”—来自 Reddit 的 andybak 我 ...

  7. Django timezone问题

    今天用django做个blog碰到了问题,提交内容后浏览提示Database returned an invalid value in QuerySet.datetimes(). Are time z ...

  8. 详解Vue2.0生命周期

    网上已经有很多关于vue生命周期的文章,我的这篇文章的由来,其实是我对官网上描述的一句话的思考与理解:“el被新创建的vm.$el替换”,所以文章更多的内容可能是在对vue生命周期中“created ...

  9. linux下使用adb查看android手机的logcat

    root@ubuntu:/home/song# adb logcat -s VLC

  10. Zabbix 监控页面中文乱码

    问题描述: 如题,我相信大多数人都遇到过这个问题,Zabbix 监控图 中文乱码. 解决这个问题也很简单:( Zabbix 网页目录中缺少字体 ) 1.打开 Windows 的 C:\Windows\ ...