一.前言
楼主在学习QML调用js过程中,用Qt新建了一个js文件,在其中发现了头部.pragma library这个,一开始没在意这个,后续尝试注释了一下,发现了不一样效果,于是做个记录
二.区别
1.文字描述
不加.pragma library:js文件可以直接访问qml中的控件id,从而对控件属性进行操作
加.pragma library:js函数无法直接使用控件id,只能在qml调用函数的的时候将id作为参数传入,从而进行操作控件属性
2.代码体现
2.1不加.pragma library
//.pragma library
var clickedCount=0 // 全局变量记录点击次数
function func1(a,b) {
return a+b
}
function calcClickedCount(){
clickedCount++
btn_1.text=clickedCount // 将按钮1的文本更为点击次数
}
调用
Button{
id:btn_3
text: "其他"
font.family: "微软雅黑"
onClicked: {
Test.calcClickedCount()
}
}
2.2加.pragma library
.pragma library
var clickedCount=0 // 全局变量记录点击次数
function func1(a,b) {
return a+b
}
function calcClickedCount1(objName){ // objName 为ID名
clickedCount++
objName.text=clickedCount
}
调用
Button{
id:btn_3
text: "其他"
font.family: "微软雅黑"
onClicked: {
Test.calcClickedCount1(btn_1)
}
}