mvo*_*mer 4 qt label tooltip qml
我正在使用带有 TextField的工具提示。这工作正常。
RowLayout {
property string toolTipText
TextField {
hoverEnabled: true
ToolTip.visible: tooltipText ? hovered : false
ToolTip.text: tooltipText
}
}
Run Code Online (Sandbox Code Playgroud)
但是有了标签,它就无法正常工作。
hoverEnabled在标签组件中不可用。所以我试过了MouseArea
RowLayout {
property string toolTipText
Label {
MouseArea {
anchors.fill: parent
hoverEnabled: true
ToolTip.visible: tooltipText ? hovered : false
ToolTip.text: tooltipText
}
}
}
Run Code Online (Sandbox Code Playgroud)
将显示 ToolTip,但不会在鼠标悬停在Label 上时显示。它实际上在进入窗口时显示。
有什么解决办法吗?
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
}
}
}
Run Code Online (Sandbox Code Playgroud)