作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我想将属性动态添加到 QML 元素:
Item {
id: dynamicProperty;
property int first;
Component.onCompleted: {
/* once this block of code is executed, i want to add
property int second; property bool third; property variant fourth;
*/
}
}
最佳答案
一方面:我不明白为什么有人要这样做,因为它完全是非声明性的。然而,由于 QML 扩展了 JavaScript,而后者是一种原型(prototype)语言,是的,你可以 做。
关于操作方法,我建议阅读 how to define properties 上的 JS 文档.但是我写了一个简短的例子来演示它的使用。
MouseArea {
anchors.fill: parent
onClicked: console.log(rect.newProp)
}
Rectangle {
id: rect
width: 50
height: 50
x: 50
y: 50
color: 'green'
MouseArea {
anchors.fill: parent
onClicked: { var obj = Object.defineProperty(rect, 'newProp',
{
enumerable: false,
configurable: false,
writable: false,
value: '50'
})}
}
}
关于qml - 如何将属性动态添加到 QML 元素?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12564289/
我是一名优秀的程序员,十分优秀!