Qml 技巧收纳

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/CLP_CSDNID/article/details/80236778

1. 同一个裤的不同版本之间,有些组件的属性冲突,可以通过import as xxx 来解决

import QtQuick.Controls 2.3

import QtQuick.Controls 1.4 as Ctrl

Ctrl.ScrollView{

........

}使用QtQuick.Controls 1.4中的ScrollView组件


2. TextField 组件的输入控制,可以通过inputMask 属性设置,,也可以通过inputMethodHints属性设置,如果调用了Qt内置的软键盘,还会根据inputMethodHints的不同调用不同风格的键盘,例如如果inputMethodHints:Qt.ImhFormattedNumbersOnly(可输入运算符和数字),inputMethodHints:Qt.ImhDigitsOnly 只能输入数字。



参考:https://www.cnblogs.com/yanhuiw/p/3972692.html

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

猜你喜欢

转载自blog.csdn.net/CLP_CSDNID/article/details/80236778
QML