如何在 javascript 中定义 QML 渐变对象
How to define QML gradient object in javascript
这是我的qtquick qml代码
function show_me(element) {
console.log(element.gradient)
}
Rectangle {
gradient: Gradient {
GradientStop {
position: 0
color: "#30cfd0"
}
GradientStop {
position: 1
color: "#330867"
}
}
MouseArea {
anchors.fill: parent
hoverEnabled: true
onEntered: {
show_me(parent)
}
}
}
输出为
qml: QQuickGradient(0x559f18a4dd40)
输出给我一个 QtQuickGradient 对象
I wonder how do I define a QtQuickGradient object in javascript?
我想要这样的东西:
var gradient = //QtQuickGradient (i don't know)
element.gradient = gradient
请帮我定义一下
您可以使用常见的 Component
项目创建 Gradient
对象,例如:
Component {
id: myGradient
Gradient {
GradientStop { position: 0.0; color: "red" }
GradientStop { position: 0.5; color: "yellow" }
GradientStop { position: 1.0; color: "green" }
}
}
Rectangle {
id: rect
width: 100
height: 100
anchors.centerIn: parent
color: "orange"
Text {
anchors.centerIn: parent
text: "click me"
}
TapHandler {
onTapped: {
var gradient = myGradient.createObject(rect);
rect.gradient = gradient;
}
}
}
这是我的qtquick qml代码
function show_me(element) {
console.log(element.gradient)
}
Rectangle {
gradient: Gradient {
GradientStop {
position: 0
color: "#30cfd0"
}
GradientStop {
position: 1
color: "#330867"
}
}
MouseArea {
anchors.fill: parent
hoverEnabled: true
onEntered: {
show_me(parent)
}
}
}
输出为
qml: QQuickGradient(0x559f18a4dd40)
输出给我一个 QtQuickGradient 对象
I wonder how do I define a QtQuickGradient object in javascript?
我想要这样的东西:
var gradient = //QtQuickGradient (i don't know)
element.gradient = gradient
请帮我定义一下
您可以使用常见的 Component
项目创建 Gradient
对象,例如:
Component {
id: myGradient
Gradient {
GradientStop { position: 0.0; color: "red" }
GradientStop { position: 0.5; color: "yellow" }
GradientStop { position: 1.0; color: "green" }
}
}
Rectangle {
id: rect
width: 100
height: 100
anchors.centerIn: parent
color: "orange"
Text {
anchors.centerIn: parent
text: "click me"
}
TapHandler {
onTapped: {
var gradient = myGradient.createObject(rect);
rect.gradient = gradient;
}
}
}