作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
所以我尝试:
Rectangle {
x: 617
y: 450
Image {
id: rect
source: "buttons/GO/GO!-norm.png"
smooth: true
opacity: 1
MouseArea {
id: mouseArea
anchors.fill: parent
hoverEnabled: true //this line will enable mouseArea.containsMouse
onClicked: Qt.quit()
}
states: [
State {
name: "mouse-over"; when: mouseArea.containsMouse
PropertyChanges { target: rect; scale: 0.95; opacity: 0; }
PropertyChanges { target: rect2; scale: 0.95; opacity: 1}
PropertyChanges { target: rect3; scale: 0.95; opacity: 0}
},
State {
name: "mouse-down"; when: mouseArea.pressedButtons
PropertyChanges { target: rect; scale: 0.95; opacity: 0; }
PropertyChanges { target: rect2; scale: 0.95; opacity: 0}
PropertyChanges { target: rect3; scale: 0.95; opacity: 1}
}
]
transitions: Transition {
NumberAnimation { properties: "scale, opacity"; easing.type: Easing.InOutQuad; duration: 500 }
}
}
Image {
id: rect2
source: "buttons/GO/GO!-over.png"
smooth: true
opacity: 0
anchors.fill: rect
}
Image {
id: rect3
source: "buttons/GO/GO!-down.png"
smooth: true
opacity: 0
anchors.fill: rect
}
}
但它只适用于 over\out 状态...如何让我的按钮有 3 个状态?
最佳答案
我不完全确定是否会发生这种情况,但这是可能的:当您将鼠标悬停在图像上时,它的不透明度会设置为 0。 documentation说:
因此,当您鼠标悬停时,rect.opacity
设置为 0,mouseArea
停止接收鼠标事件和 mouseArea.pressedButtons
条件永远不会实现。您可以通过使 mouseArea
成为 Image
的同级而不是其子项来避免这种情况。使用 Item
或 Rectangle
作为父项。
关于qt - QML:如何创建一个由图像制成的三态自定义按钮?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10228783/
当我使用 typedef 中的名称时,出现了很多错误。但是在我将名称修改为原始名称后,它就可以工作了。我想知道它们之间有什么不同。 void SwapPoint(Point *pos1, Point
所以我有一些 shared_mutex 并完成了这个: boost::upgrade_lock lock(f->mutex); boost::upgrade_to_un
我是一名优秀的程序员,十分优秀!