9.property
简介:
自己声明一个变量名,自己赋值,外部可以对其赋值
可以声明一个属性变量
int
string
var
double
等等
也可以声明一个控件用于外部写入到本qml
rectangle
component
等等
其他:
在property前面可以加readonly就可以只能外部访问,不能修改
在property前面可以加required就可以在外部创建这个属性后才能建立子控件,如果没创建就报错
注意:属性的name不能首字母大写
property可以声明的属性变量里有个特殊的 就是 alias
可以去声明一个控件的一个属性,方便外部修改
示例代码:
My_rec_1.qml
import QtQuick 2.0
Rectangle{
id:outrec
property color mycolor: "red"
property int myheight:100
readonly property int mywidth:200
required property Component mycomponent
property alias newinrec: inrec
property alias newinrec_leftMargin: inrec.anchors.leftMargin
width: mywidth
height: myheight
color: "blue"
Loader {
id:loader
sourceComponent: mycomponent}
Rectangle{
id:inrec
color:mycolor
anchors.fill:parent
anchors.topMargin: 20
anchors.bottomMargin: 20
anchors.leftMargin: 20
anchors.rightMargin: 10
}
}
main.qml
import QtQuick 2.15
import QtQuick.Window 2.15
import QtQuick.Controls 2.15
Window {
visible: true
width: 800
height: 600
title: qsTr("Hello scan")
color: "gray"
Component{
id:com
Button{
width:50
height: 25}}
My_rec_1{
id:myrec
mycomponent: com
Component.onCompleted: {console.log(mywidth)}
}
MouseArea{width:100
height: 50
x:500
Rectangle{
anchors.fill: parent
color:"red"
}
onClicked: {
myrec.newinrec.anchors.bottomMargin = 50
myrec.myheight = 400
myrec.newinrec_leftMargin = 0
}
}
}
标签:Property,qt,color,myrec,qml,import,property,id,anchors
From: https://blog.csdn.net/weixin_60755571/article/details/137462775