我正在使用带有TextField的ToolTip。这工作正常。
RowLayout {
property string toolTipText
TextField {
hoverEnabled: true
ToolTip.visible: tooltipText ? hovered : false
ToolTip.text: tooltipText
}
}
但是使用Label它不会正常工作。
标签组件中不提供hoverEnabled
。所以我用MouseArea
RowLayout {
property string toolTipText
Label {
MouseArea {
anchors.fill: parent
hoverEnabled: true
ToolTip.visible: tooltipText ? hovered : false
ToolTip.text: tooltipText
}
}
}
ToolTip将会显示,但不会在鼠标移到Label时显示。它实际上是在进入窗口时显示的。
有没有解决方案?
答案 0 :(得分:1)
MouseArea没有ToolTip而是Label,因此您必须使用MouseArea的containsMouse属性移动它并激活它:
RowLayout {
Label {
text: "label"
property string toolTipText: "message"
ToolTip.text: toolTipText
ToolTip.visible: toolTipText ? ma.containsMouse : false
MouseArea {
id: ma
anchors.fill: parent
hoverEnabled: true
}
}
}