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

seddog站长之家正规的装饰行业网站建设公司

seddog站长之家,正规的装饰行业网站建设公司,月入百万的游戏代理,成都网站制作在线1、property 1.1 介绍 property用来自定义属性。 什么是属性#xff1f;面向对象中#xff0c;类由方法和属性构成。对于从C语言的过来人#xff0c;更喜欢称之为变量。 之所以说“自定义”#xff0c;是因为QML语言本身已有默认定义好的属性#xff0c;这些属性不可以…1、property 1.1 介绍 property用来自定义属性。 什么是属性面向对象中类由方法和属性构成。对于从C语言的过来人更喜欢称之为变量。 之所以说“自定义”是因为QML语言本身已有默认定义好的属性这些属性不可以重新定义或者覆盖。比如id属性每一种 QML 对象类型都只有一个id属性用来被其他对象识别和引用。 1.2 定义 1方法1 先在C中使用Q_PROPERTY来定义属性然后将这个类注册到QML系统中 2方法2 在QML中直接定义完整的定义格式如下 [default] [required] [readonly] property propertyType propertyName属性名称必须以小写字母开头并且只能包含字母、数字和下划线。 1.3 默认属性-default 什么是默认属性给属性赋值时不需要指定属性名称直接将“值”赋值给包含属性的“类”。当然了默认只能有一个如果多了“类”就不知道将“值”赋值给谁了。 例如在一个对象声明中如果“值”也是一个对象子对象并且没有显示的将一个子对象赋值给某个属性则这个子对象会被赋值给默认属性。 1.4 必要属性-required 创建对象实例时必须设置使用required标记的属性。 如果可以静态检测到违反此规则将导致 QML 应用程序无法启动。 如果是动态实例化的 QML 组件例如通过Qt.createComponent())违反此规则会导致警告和空返回值。 1.5 只读属性-readonly 只能在初始化时为只读属性分配一个值。只读属性初始化后无论是通过命令性代码还是其他方式都无法再为其赋予值。 注意只读属性不能再设置为默认属性 1.6 内置信号 QML可以通过定义相应的“槽函数”来处理内置信号定义时有语法要求 onSignal其中“Signal”是信号的名称第一个字母大写。示例如下 import QtQuick 2.0Item {width: 100; height: 100MouseArea {anchors.fill: parentonClicked: {console.log(Click!)}} }1.7 定义信号 自定义信号的语法如下 signal signalName[([type parameter name[, ...]])]示例如下 import QtQuick 2.0Item {signal clickedsignal hovered()signal actionPerformed(string action, var actionResult) }1.8 连接信号和槽-Connections 使用Connections属性来连接信号和槽在Connections中使用target来标记信号源使用on“Signal”来处理信号 import QtQuick 2.15 import QtQuick.Controls 2.15Rectangle {id: rectwidth: 250; height: 250Button {id: buttonanchors.bottom: parent.bottomanchors.horizontalCenter: parent.horizontalCentertext: Change color!}Connections {target: buttonfunction onClicked() {rect.color Qt.rgba(Math.random(), Math.random(), Math.random(), 1);}} }1.9 属性更改信号 当 QML 属性的值发生变化时会自动发出信号格式为 onPropertyChanged示例如下 import QtQuick 2.15Rectangle {id: rectwidth: 100; height: 100TapHandler {onPressedChanged: console.log(taphandler pressed?, pressed)} }1.10 信号连接到信号 使用signal定义一个信号使用connect将信号连接到这个信号 import QtQuick 2.15Rectangle {id: forwarderwidth: 100; height: 100signal send()onSend: console.log(Send clicked)TapHandler {id: mouseareaanchors.fill: parentonTapped: console.log(Mouse clicked)}Component.onCompleted: {mousearea.tapped.connect(send)} }1.11 信号连接到方法 信号对象可以使用connect()将信号连接到方法 import QtQuick 2.15Rectangle {id: relaysignal messageReceived(string person, string notice)Component.onCompleted: {relay.messageReceived.connect(sendToPost)relay.messageReceived(Tom, Happy Birthday)}function sendToPost(person, notice) {console.log(Sending to post: person , notice)} }
http://www.dnsts.com.cn/news/152798.html

相关文章:

  • 巢湖城市建设投资有限公司网站邢台招标网
  • 智能自助建站网站房地产推广策略
  • 网站建设的注意博客营销是一种新兴的网络营销方式
  • 骏驰网站开发打开网站
  • 专业网站定制团队网域名解析ip查询
  • 第三方网站下载素材是怎么做上海传媒公司总裁是谁
  • 做网站需注意事项户县网站建设
  • vps如何做网站步骤亚马逊新店投广告是免费的吗
  • 网站建站网站域名申请网站开发工具是啥
  • 找装修公司网站WordPress外网404
  • 常德注册公司流程及费用河南做网站优化
  • 云南网站建设招商房地产政策最新消息2022
  • 新网站做seo优化步骤做响应式网站的体会
  • 临沂做网站建设的公司长春火车站进站需要核酸检测吗
  • 苏州网站建设情况pc网站建设和推广
  • 假发网站是怎么做的利用百度网盘自动播放做视频网站
  • 烟台cms建站模板网站开发一般多钱
  • 湘潭网站建设 多少钱磐石网络seo排名第一
  • 照片网站cms普陀区网站建设前端
  • 深圳最好用的网站设计莆田个人仿牌外贸网站建设
  • 安徽柱石建设有限公司网站揭阳市建设局网站
  • 英语教育网站建设凡科建站骗子
  • 有专门做辩论的网站吗建设银行网站驱动
  • 合肥最好的网站建设公司西安好的皮肤管理做团购网站
  • 厦门做网站公司排名母婴策划案的网站建设
  • dw做网站表格插不到右边wordpress 对空间要求
  • 学校官网在哪里找采集网站seo
  • wordpress制作网站教程西安做网站xamokj
  • 建设宠物网站的可行性如何去掉wordpress
  • 毕业设计网站代做多少钱网络营销培训班哪家好