为任何控件提供工具提示。
官方文档:
ToolTip QML Type | Qt Quick Controls 5.15.14
工具提示是一段简短的文字,用于告知用户控件的功能。它通常位于父控件的上方或下方。提示文本可以是任何富文本格式的字符串。
为控件设置工具提示的最直接方法是通过附加属性指定文本和可见性。下面的示例说明了这种方法:
Button {
text: qsTr("Save")
ToolTip.visible: down
ToolTip.text: qsTr("Save the active project")
}
在正常情况下,一次只能看到一个工具提示。为了节省资源,所有使用工具提示附加属性的项目都共享同一个可视化工具提示标签实例。尽管视觉效果是共享的,但每个使用相应附加属性的项目都会单独存储文本、超时和延迟。但是,多个项目不能同时显示共享工具提示。共享工具提示只显示给最后一个使其可见的项目。共享工具提示的位置由框架决定。
Delay and Timeout
工具提示通常是瞬时的,即在某个外部事件或用户交互后显示,并且通常在某个超时后隐藏。可以控制工具提示显示时的延迟时间和隐藏时的超时时间。这样就可以实现不同的工具提示显示和隐藏策略。
例如,在触摸屏上,显示工具提示的常见模式是按住按钮不放。下面的示例演示了如何延迟显示工具提示,直到达到按住的时间间隔。在此示例中,一旦松开按钮,工具提示就会隐藏。
Button {
text: qsTr("Button")
ToolTip.visible: pressed
ToolTip.delay: Qt.styleHints.mousePressAndHoldInterval
ToolTip.text: qsTr("This tool tip is shown after pressing and holding the button down.")
}
不过,在使用指针设备时,可能需要在按钮悬停一段时间后显示工具提示。下面的示例介绍了如何在将鼠标悬停在按钮上一秒钟后显示工具提示,并在 5 秒钟超时后隐藏提示
Button {
text: qsTr("Button")
hoverEnabled: true
ToolTip.delay: 1000
ToolTip.timeout: 5000
ToolTip.visible: hovered
ToolTip.text: qsTr("This tool tip is shown after hovering the button for a second.")
}
自定义工具提示
如果需要对工具提示的位置进行更精细的控制,或者需要同时使用多个工具提示实例,也可以创建本地工具提示实例。这样就可以自定义工具提示,并使用整个弹出式 API。下面的示例展示了一个工具提示,在拖动手柄时显示滑块的值。
slider工具提示:
Slider {
id: slider
value: 0.5
ToolTip {
parent: slider.handle
visible: slider.pressed
text: slider.value.toFixed(1)
}
}
属性
dalay:int
text:string
timeout:int
附加属性
ToolTip.delay:int
此附加属性保存共享工具提示的延迟(毫秒)。该属性可附加到任何项目。
ToolTip.text:string
此附加属性包含共享工具提示的文本。该属性可附加到任何项目。
ToolTip.timeout:int
此附加属性保存共享工具提示的超时(毫秒)。该属性可附加到任何项目。
另请参阅附加工具提示和延迟与超时。
ToolTip.toolTip:ToolTip
此附加属性保存共享工具提示实例。该属性可附加到任何项目。
ToolTip.visible:bool
此附加属性用于确定共享工具提示是否可见。该属性可附加到任何项目。
方法
void hide()
此方法会隐藏工具提示。
void show(string text,int timeout)
该方法以工具提示的形式显示文本,超时(毫秒)。