Skip to content

API: UIA ToolTip ​

工具提示(ToolTip)控件显示鼠标悬停时的帮助信息。工具提示是临时性控件,只有在鼠标悬停在某个元素上时才会出现。

查找工具提示 ​

说明:UIARole 枚举没有 ToolTip 专用角色值,find_all_by_control_type 无法按类型过滤工具提示;只能按名称匹配查找(find_text,不做角色过滤)。

注意:工具提示只有在鼠标悬停时才会出现,查找前需要先触发显示。

python
from wingman import uia, input, util

# 先移动鼠标到按钮上触发工具提示
btn = uia.find_button("帮助")
if btn:
    info = btn["get_info"]()
    rect = info["bounds"]
    center_x = rect["x"] + rect["width"] // 2
    center_y = rect["y"] + rect["height"] // 2

    # 移动鼠标到按钮中心
    input.move(center_x, center_y)
    print("已移动鼠标到帮助按钮")

    # 等待工具提示出现
    util.sleep(1000)

    # 按提示文本查找(find_text 不做角色过滤)
    tooltip = uia.find_text("显示帮助内容")
    if tooltip:
        print("工具提示已出现")

获取工具提示文本 ​

说明:读取工具提示显示的文本内容。

python
from wingman import uia

tooltip = uia.find_text("显示帮助内容")
if tooltip:
    info = tooltip["get_info"]()
    text = info.get('name', '')
    print(f"工具提示内容: {text}")

等待工具提示出现 ​

说明:工具提示可能需要短暂延迟才会出现,使用轮询方式等待。

python
from wingman import uia, input, util

# 移动鼠标触发工具提示
btn = uia.find_button("帮助")
if btn:
    info = btn["get_info"]()
    rect = info["bounds"]
    center_x = rect["x"] + rect["width"] // 2
    center_y = rect["y"] + rect["height"] // 2
    input.move(center_x, center_y)

    # 轮询等待工具提示出现(最多 1 秒)
    for i in range(10):
        tooltip = uia.find_text("显示帮助内容")
        if tooltip:
            tip_info = tooltip["get_info"]()
            print(f"工具提示: {tip_info.get('name', '')}")
            break
        util.sleep(100)
    else:
        print("工具提示未出现")

可用接口 ​

Python 函数Lua 函数说明
find_text(name)find_text(name)按名称查找(ToolTip 无专用 UIARole,不做角色过滤)
Python 方法Lua 方法说明
get_info():get_info()获取工具提示信息(包含 name 属性)

注意:工具提示是临时性控件,只有在鼠标悬停时才会出现。