QML笔记(八)之.pragma library

本文探讨了QML中.js文件中使用.pragma library关键字对JS函数与QML组件交互的影响。不加该pragma时,JS可以直接访问QML控件ID并修改其属性;而添加后,需要通过传入控件ID作为参数来间接操作。通过示例代码展示了两种情况下的不同调用方式。
摘要由CSDN通过智能技术生成

一.前言
楼主在学习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)
                }
            }
  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
QML (Qt Quick) 和 .ui.qml 是两种不同的技术,用于开发用户界面。QML 是一种用于创建交互式用户界面的编程语言,它使用 Qt 框架,可以用于开发跨平台的应用程序。而 .ui.qml 是一种设计文件,用于描述应用程序的用户界面,通常使用 Qt Designer 工具创建。 联合开发界面时,可以使用 QML 和 .ui.qml 文件来创建和设计用户界面。QML 文件用于定义应用程序的布局和交互逻辑,而 .ui.qml 文件则用于描述应用程序的视觉外观和交互元素。 以下是使用 QML 和 .ui.qml 联合开发界面的步骤: 1. 使用 Qt Designer 工具创建 .ui.qml 设计文件,使用设计器中的 UI 设计工具创建界面元素和布局。 2. 使用 Qt Creator 工具打开设计文件,并在 QML 文件中使用这些 UI 设计元素。 3. 在 QML 文件中定义应用程序的布局和交互逻辑,例如使用 QML 的各种组件和属性来控制界面元素的显示和交互。 4. 将 QML 文件与应用程序的其他部分集成,例如使用 Qt 的信号和槽机制来处理用户交互事件。 5. 使用 Qt 框架的其他功能来提供应用程序所需的功能和特性。 联合开发界面的优点是能够使用两种不同的方法来描述用户界面,从而实现更好的灵活性和可定制性。此外,QML 语言相对易于学习,可以帮助开发人员快速构建高质量的用户界面。 需要注意的是,联合开发界面需要熟悉 QML 语言和 Qt 框架的相关知识,并能够正确地使用 QML 和 .ui.qml 文件来描述用户界面。同时,还需要考虑应用程序的性能和可扩展性等方面的因素。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值