当前位置: 首页 > news >正文

南昌网站建设培训企业简介优势项目案例等模块点选即用

南昌网站建设培训,企业简介优势项目案例等模块点选即用,莱芜金点子招聘网最新招聘,微信营销平台有哪些在QML定义JavaScript资源一、概述二、后台代码实现文件三、共享JavaScript资源(库)一、概述 QML应用程序的一部分程序逻辑可以用 JavaScript 定义。JavaScript代码可以在QML文档中内联定义#xff0c;也可以分离到单独的 JavaScript 文件中(在QML中称为JavaScript资源)。 QML… 在QML定义JavaScript资源一、概述二、后台代码实现文件三、共享JavaScript资源(库)一、概述 QML应用程序的一部分程序逻辑可以用 JavaScript 定义。JavaScript代码可以在QML文档中内联定义也可以分离到单独的 JavaScript 文件中(在QML中称为JavaScript资源)。 QML支持两种不同类型的JavaScript资源后台代码实现文件和共享(库)文件。这两种JavaScript资源都可以被其他JavaScript资源导入或者包含在QML模块中。 二、后台代码实现文件 导入到QML文档中的大多数JavaScript文件都是导入它们的QML文档的有状态实现。在这些情况下文档中定义的QML对象类型的每个实例都需要一个单独的JavaScript对象和状态副本以便正确地执行操作。 导入JavaScript文件时的默认行为是为每个QML组件实例提供一个唯一的、独立的副本。如果JavaScript文件没有使用.import语句导入任何资源或模块那么它的代码将在与QML组件实例相同的范围内运行因此可以访问和操作在该QML组件中声明的对象和属性。否则它将有自己唯一的作用域如果需要QML组件的对象和属性应该作为参数传递给JavaScript文件的函数。 代码隐藏实现资源的示例如下: // MyButton.qmlimport QtQuick 2.0import my_button_impl.js as Logic // A new instance of this JavaScript resource// is loaded for each instance of Button.qml.Rectangle {id: rectwidth: 200height: 100color: redMouseArea {id: mouseareaanchors.fill: parentonClicked: Logic.onClicked(rect)}}// my_button_impl.jsvar clickCount 0; // this state is separate for each instance of MyButtonfunction onClicked(button) {clickCount 1;if ((clickCount % 5) 0) {button.color Qt.rgba(1,0,0,1);} else {button.color Qt.rgba(0,1,0,1);}}一般来说简单的逻辑应该在QML文件中内联定义但更复杂的逻辑应该分离到代码背后的实现资源中以提高可维护性和可读性。 三、共享JavaScript资源(库) 默认情况下从QML导入的JavaScript文件与QML组件共享它们的上下文。这意味着JavaScript文件可以访问相同的QML对象并可以修改它们。因此每次导入都必须有这些文件的唯一副本。 前一节介绍了JavaScript文件的有状态导入。然而有些JavaScript文件是无状态的更像是可重用库因为它们提供了一组helper函数不需要从导入它们的地方获取任何东西。如果使用特殊的pragma标记此类库可以节省大量内存并加速QML组件的实例化如下面的示例所示。 // factorial.js.pragma libraryvar factorialCount 0;function factorial(a) {a parseInt(a);// factorial recursionif (a 0)return a * factorial(a - 1);// shared statefactorialCount 1;// recursion base-case.return 1;}function factorialCallCount() {return factorialCount;}pragma声明必须出现在除注释之外的任何JavaScript代码之前。 注意多个QML文档可以导入“factorial.js”并调用它提供的 factorial 和 factorialCallCount 函数。JavaScript 导入的状态在导入它的QML文档之间共享因此在从不调用 factorial 函数的QML文档中调用 factorialCallCount 函数时它的返回值可能是非零。 例如: // Calculator.qmlimport QtQuick 2.0import factorial.js as FactorialCalculator // This JavaScript resource is only// ever loaded once by the engine,// even if multiple instances of// Calculator.qml are created.Text {width: 500height: 100property int input: 17text: The factorial of input is: FactorialCalculator.factorial(input) }由于它们是共享的.pragma库文件不能直接访问QML组件实例对象或属性尽管QML值可以作为函数参数传递。
http://www.hkea.cn/news/14263566/

相关文章:

  • 12306网站能不能用银河二计算机做服务器啊慢得要死国家高新技术企业官网
  • wordpress插件无法安装谷歌seo关键词优化
  • 最少的钱做网站模版网站如何优化
  • 一般找人做网站多少钱做汽车配件生意的网站
  • H5网站开发工程师wordpress php拓展
  • 自己做彩票网站吗WordPress tag 分类
  • 华为建站wordpress上海seo网站排名优化公司
  • 网站建设及网页设计教案零基础1小时快速建站
  • 网站百度排名查询进博会上海
  • 东莞网站制作十强wordpress gif封面
  • 网站打开速度加快怎么做如何提升wordpress网站速度
  • 上海网站建设 虹口网站 美化
  • 深圳官网网站建设Gzip 网站 能够压缩图片吗
  • 旅游的网站怎么做统一管理网站系统
  • 做商城网站哪里好图片设计制作软件
  • 杏坛网站设计鄂州网站推广优化技巧
  • 网站建设流程和费用义乌网站建设yw126
  • 图库网站源码下载wordpress 文章 碎片
  • 佛山网站建设制作成都网站建设哪家便宜
  • 那个网站有帮人做图的免费网站建
  • 手机网站首页模板衡水移动网站建设费用
  • dede网站后台建设网站用户名是什么意思
  • 松江公司做网站做网站如何突出网站特色
  • 网站建设优化哪家好房地产做网站怎样吸引客户
  • 网站建设方免费网站推荐货源
  • 长春火车站地址wordpress 不显示边栏
  • 中国建设银行的网站设计东营企业网站排名
  • 阜阳网站制作公司去哪找企业网站建设费用明细
  • 做网站咋做权威的网站建设
  • 惠州网站推广排名广州手机网站定制咨询