Qt之QML开发常用知识
小技巧:
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开发常用知识的更多相关文章
- Qt移动应用开发(八):实现跨平台的QML和OpenGL混合渲染
Qt移动应用开发(八):实现跨平台的QML和OpenGL混合渲染 上一篇文章讲到了利用C++这个桥梁,我们实现了QML和Java的交互.Qt 5大力推崇的QML/JS开发,让轻量.高速开发的QML/J ...
- Qt移动应用开发(六):QML与C++互动
Qt移动应用开发(六):QML与C++互动 上一篇文章讲到了在Qt Quick中实现场景切换的一种可能的方法,场景切换是诸如游戏等应用在内必需要面临的技术难点,所以场景切换并没有通行的方法,依据自己的 ...
- Ext常用开发基础知识
Ext常用开发基础知识 组件定义 //这种方法可以缓存所需要的组件 调用起来比较方便(方法一 ) Ext.define('MySecurity.view.home.HomePanel', { //添加 ...
- 快速全面了解QT软件界面开发技术
快速全面了解QT软件界面开发技术 目录 前言 一. 学习QT可能的目的是什么? 只想体验一下QT? 当前的项目选择了用QT. 为将来做QT技术储备. 二. QT的核心技术优势是什么? QT在软 ...
- 【基于WPF+OneNote+Oracle的中文图片识别系统阶段总结】之篇一:WPF常用知识以及本项目设计总结
篇一:WPF常用知识以及本项目设计总结:http://www.cnblogs.com/baiboy/p/wpf.html 篇二:基于OneNote难点突破和批量识别:http://www.cnblog ...
- 移动端 Web 开发前端知识整理
文章来源: http://www.restran.net/2015/05/14/mobile-web-front-end-collections/ 最近整理的移动端 Web 开发前端知识,不定期更新. ...
- Qt for Android开发环境搭建及测试过程记录
最近学习了Qt的QML编程技术,感觉相较于以前的QtGUI来说更方便一些,使用QML可以将界面与业务逻辑解耦,便于开发. QML支持跨平台,包括支持Android平台,因此可以使用Qt的QML进行An ...
- javascript常用知识点集
javascript常用知识点集 目录结构 一.jquery源码中常见知识点 二.javascript中原型链常见的知识点 三.常用的方法集知识点 一.jquery源码中常见的知识点 1.string ...
- HTML5-移动开发常用技巧与弹性布局的使用
一.移动开发常用技巧 Viewport基本知识 设置布局Viewport的各种信息 1.width=device-width: 设置Viewport视口宽度等于设备宽度 2.initial-scale ...
随机推荐
- Java-Runoob:Java 方法
ylbtech-Java-Runoob:Java 方法 1.返回顶部 1. Java 方法 在前面几个章节中我们经常使用到 System.out.println(),那么它是什么呢? println( ...
- Centos6-7安装Python3.5
可以看到我们现在是2.7.5的,现在我安装一个3.5版本的 安装python3之前首先安装ssl开发库,否则会造成python3的ssl库都无法使用!!! yum install openssl op ...
- 【洛谷】P1474 货币系统 Money Systems(背包dp)
题目描述 母牛们不但创建了它们自己的政府而且选择了建立了自己的货币系统.由于它们特殊的思考方式,它们对货币的数值感到好奇. 传统地,一个货币系统是由1,5,10,20 或 25,50, 和 100的单 ...
- ubuntu下安装和配置最新版JDK8傻瓜教程
ubuntu下安装和配置最新版JDK8傻瓜教程 听语音 | 浏览:18940 | 更新:2014-07-14 22:13 | 标签:ubuntu 1 2 3 4 5 6 分步阅读 ubuntu系统通常 ...
- C# 如何将窗体写到Dll中
步骤: 1.解决方案资源管理器窗口->右击项目属性 2.属性窗口->应用程序->输出类型(U)->类库
- vue引入jQuery、bootstrap
vue引入jQuery.bootstrap 1.使用vue-cli构建的vue项目 2.npm安装jquery.bootstrap npm install jquery 3.修改build/webpa ...
- halcon-车牌识别
halcon代码: 1: read_image(Image,'D:/MyFile/halcon/车牌识别/图片.jpg') 2: decompose3(Image,ImageR,ImageG,Imag ...
- Spring定时器Quartz的使用
在JavaEE系统中,我们会经常用到定时任务,比如每天凌晨生成前天报表,每一小时生成汇总数据等等,定时更新某某操作……. 我们可以使用java.util.Timer结合java.util.TimerT ...
- OrderedDict 有序字典以及读取json串时如何保持原有顺序
1. OrderedDict 有序字典 OrderedDict是dict的子类,它记住了内容添加的顺序.比较时,OrderedDict要内容和顺序完全相同才会视为相等 import collectio ...
- 深入理解Javascript中构造函数和原型对象的区别(转存)
Object是构造函数,而Object.prototype是构造函数的原型对象.构造函数自身的属性和方法无法被共享,而原型对象的属性和方法可以被所有实例对象所共享. 首先,我们知道,构造函数是生成对象 ...