工具提示 QML 类型
为任何控件提供工具提示。 更多...
导入语句 | import QtQuick.Controls |
继承 |
属性
关联属性
方法
- void hide()
(since QtQuick.Controls 2.5 (Qt 5.12))
- void show(string text, int timeout)
(since QtQuick.Controls 2.5 (Qt 5.12))
关联方法
详细描述
工具提示是简短文本片段,告知用户控件的功能。它通常放置在父控件的上方或下方。提示文本可以是任何格式化的 富文本 字符串。
关联工具提示
为控件设置工具提示最直接的方式是使用关联属性指定 text 和 visibility。以下示例说明了这种方法
Button { text: qsTr("Save") ToolTip.visible: down ToolTip.text: qsTr("Save the active project") }
在正常情况下,一次只有一个工具提示可见。为了节省资源,所有使用 ToolTip 关联属性的项目共享相同的视觉工具提示标签实例。尽管外观是共享的,但在使用相应关联属性的所有项目中,text
、timeout
和 delay
都被分别存储。然而,多个项目不能同时使共享的工具提示可见。共享的工具提示仅对最后一个使其可见的项目显示。共享工具提示的位置由框架确定。
注意:要自定义附加的_ToolTip,必须将其作为您自己的样式的一部分提供。要一次性自定义ToolTip
,请参阅自定义Tool Tips。
延迟和超时
在某种意义上,工具提示通常是瞬时的,因为它们总是在某些外部事件或用户交互之后显示,并在一段时间后隐藏。可以控制工具提示显示时的延迟和隐藏时的超时。这使得可以实现显示和隐藏工具提示的各种策略。
例如,在触摸屏上,常见的模式是在按住按钮时显示工具提示。以下示例演示了如何延迟显示工具提示,直到按住间隔达到。在这个例子中,按钮一释放,工具提示就会隐藏。
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.") }
然而,对于指针设备,可能希望按钮悬停一段时间后显示工具提示。以下示例演示了在悬停一秒后显示工具提示,并在五秒超时后隐藏。
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.") }
自定义Tool Tips
如果需要更精细地控制工具提示位置,或者需要多个同时存在的工具提示实例,也可以创建局部工具提示实例。这样,可以自定义工具提示,并且可以使用整个弹出 API。以下示例演示了当滑块手柄被拖动时,工具提示会显示滑块的值。
Slider { id: slider value: 0.5 ToolTip { parent: slider.handle visible: slider.pressed text: slider.value.toFixed(1) } }
另请参阅 自定义ToolTip、弹出控件和closePolicy。
属性文档
text : string |
该属性保存显示在工具提示上的文本。
附加属性文档
方法文档
|
这个方法隐藏提示信息。
此方法自 QtQuick.Controls 2.5 (Qt 5.12) 开始引入。
这个方法以提示信息的形式显示 text,其超时时间为 timeout(毫秒)。
此方法自 QtQuick.Controls 2.5 (Qt 5.12) 开始引入。
附加方法文档
void hide() |
这个附加方法隐藏共享的提示信息。此方法可以附加到任何项目上。
另请参阅 附加工具提示。
这个附加方法以 text 和 timeout(毫秒)显示共享的提示信息。此方法可以附加到任何项目上。
另请参阅 附加工具提示。
© 2024 The Qt Company Ltd. 包含在内的文档贡献者是各自所有者的财产。提供的文档依据自由软件基金会发布的 GNU自由文档许可协议版本1.3 进行授权。Qt 及其相关标志是 The Qt Company Ltd. 在芬兰和/或世界其他国家的商标。所有其他商标均为其各自所有者的财产。