当前位置: 首页 > web >正文

QML的focus与activeFocus

  概念

        在 QML 中,focusactiveFocus 都是用来描述一个 Item(或控件)是否拥有键盘输入焦点的属性,但它们的含义和作用范围完全不同。     

  • focus 是你“申请”焦点的标志

  • activeFocus 是你“真正”拥有焦点的标志

1. focus: bool
  • 可读写,表示该 Item 是否希望获得键盘焦点

  • 设置 focus = true 只是请求系统把焦点给它,但不一定成功

  • 常用于:

    • TextInputTextFieldButton 等控件初始化时设置焦点。

    • 响应用户点击或键盘导航时切换焦点。

TextInput {focus: true  // 请求焦点
}
2. activeFocus: bool(只读)
  • 只读属性,表示该 Item 当前是否真正拥有键盘焦点

  • 只有当 Item 本身或其某个子项拥有系统焦点时,activeFocus 才为 true

  • 用于判断当前输入焦点是否落在这个 Item 上。

TextInput {id: inputfocus: trueonActiveFocusChanged: {if (activeFocus)console.log("我现在有焦点")elseconsole.log("我失去焦点了")}
}

举例

Rectangle {width: 200; height: 200TextInput {id: input1width: 180; height: 40text: "输入框1"focus: true  // 请求焦点}TextInput {id: input2y: 50width: 180; height: 40text: "输入框2"}
}
  • 页面加载后,input1.focus === true,表示它请求了焦点。

  • 如果 input1 成功获得了系统焦点,那么 input1.activeFocus === true

  • 如果用户点击了 input2,则:

    • input1.activeFocus === false

    • input2.activeFocus === true

    • input1.focus 仍然是 true(因为它没有主动放弃)

属性类型可读/写含义典型用途
focusbool读写是否请求获得焦点设置初始焦点、切换焦点
activeFocusbool只读是否实际拥有系统键盘焦点判断当前输入焦点位置

使用建议

  • 设置焦点:用 focus = true

  • 判断焦点是否在当前控件:用 activeFocus

http://www.xdnf.cn/news/19758.html

相关文章:

  • 【Vue2 ✨】Vue2 入门之旅(九):Vue Router 入门
  • 从“人海战术”到“AI协同”:良策金宝AI如何助力设计院数智化跃迁?
  • NLP×第六卷:她给记忆加了筛子——LSTM与GRU的贴靠机制
  • ADB图片上传轮播
  • 【MySQL】初识数据库基础
  • 12.《ACL 与 NAT 技术实验指南》
  • 基于飞算JavaAI的在线图书借阅平台设计与实现
  • 【国内外云计算平台对比:AWS/阿里云/Azure】
  • 运作管理学习笔记4-产能规划
  • 域内横向移动
  • uni-app iOS 应用版本迭代与上架实践 持续更新的高效流程
  • 教你 Centos 如何离线安装 rlwrap 插件(内网环境)
  • 【React】Redux
  • checkBox支持拖拉拽调动位置,改变布局和选择值的顺序
  • MySQL 事务的“暗面”与“高光”:故障、调优与案例复盘
  • 网络编程 socket——TCP
  • Leetcode 3665. Twisted Mirror Path Count
  • 江协科技STM32学习笔记补充之001。为什么C语言在对STM32编程过程中的二进制要用十六进制来进行读写。而不能直接用二进制来进行读写。
  • “人工智能+”时代的端侧AI:算力下沉与实时视频的新基座
  • 36. Ansible变量+管理机密
  • leetcode-python-1796字符串中第二大的数字
  • Python OpenCV图像处理与深度学习:Python OpenCV对象检测入门-Haar级联分类器与人脸检测
  • SpringCloud框架组件梳理
  • SQL Server从入门到项目实践(超值版)读书笔记 25
  • go语言面试之Goroutine 数量控制, GC回收 和任务调度
  • JimuReport 积木报表 v2.1.3 版本发布,免费开源的可视化报表和大屏
  • 2025 金融行业证书怎么选?从能力适配到职业方向的理性梳理
  • 别让你的 AI 对话烂在聊天记录里!
  • 马健涛事件折射出中国音乐产业转型期的深层矛盾,最终解决之道在于完善我国音乐版权鉴定的技术标准
  • Linux系统之----客户端服务器设计(共享内存)