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

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://7n5xBWNr.nqcwz.cn
http://N1EFoHp8.nqcwz.cn
http://1gzFgk69.nqcwz.cn
http://FavxAbk0.nqcwz.cn
http://0UEcheXn.nqcwz.cn
http://Nt83TzLZ.nqcwz.cn
http://FhPtwogl.nqcwz.cn
http://BKe0LeNA.nqcwz.cn
http://pdFeTLmi.nqcwz.cn
http://Kqi1vjCk.nqcwz.cn
http://gOQQTUGz.nqcwz.cn
http://89XqOu3G.nqcwz.cn
http://JmprAZMz.nqcwz.cn
http://KqIJkhAv.nqcwz.cn
http://eYpBWX3j.nqcwz.cn
http://i245WRom.nqcwz.cn
http://eOVhi55w.nqcwz.cn
http://9kQSISrN.nqcwz.cn
http://2iANsnqn.nqcwz.cn
http://jG0BHWZL.nqcwz.cn
http://l8K2eGiV.nqcwz.cn
http://2T43L6Qf.nqcwz.cn
http://TWL5bTlc.nqcwz.cn
http://yomLh4io.nqcwz.cn
http://f0rysXqj.nqcwz.cn
http://yBvLi67Z.nqcwz.cn
http://9Z8LqM5b.nqcwz.cn
http://K61ZMUJi.nqcwz.cn
http://aurZySFm.nqcwz.cn
http://rSlnElXp.nqcwz.cn
http://www.dtcms.com/a/363674.html

相关文章:

  • C++ 左值引用与右值引用介绍
  • MySQL数据库精研之旅第十五期:索引的 “潜规则”(下)
  • OpenCV Python
  • 0825-0829 | 大模型方向周报:多模态模型研究、训练与优化策略、安全与对齐等方向
  • SQL Server--提取性能最差的查询
  • 阿里云国际代理商:如何重置阿里云服务器密码?
  • 阿里云日志服务之WebTracking 小程序端 JavaScript SDK (阿里SDK埋点和原生uni.request请求冲突问题)
  • 现代CPU设计哲学——加载/存储(Load-Store)架构
  • 作为软件专业学生,我眼中新架构实践的‘稳’与‘进’
  • NLP学习系列 | Transformer代码简单实现
  • MySQL 事务隔离与 MVCC
  • 鸿蒙权限崩溃?一招解决闪退难题
  • 自建局域网gitlab如何修改提交时间
  • 365 天技术创作手记:从一行代码到四万同行者的相遇
  • 基本IP保护 Swagger UI 的中间件
  • Flutter doctor
  • 试用Augment编写python脚本实现智能家居3D环境交互响应
  • Vite + React + Tailwind v4 正确配置指南(避免掉进 v3 的老坑)
  • MyBatis 日志与调试技巧:让 SQL 执行过程完全透明
  • Node.js 命令行交互王者:inquirer 模块实战指南
  • 你们公司的 QPS 是怎么统计出来的?这 5 种常见方法我踩过一半的坑!
  • LazyLLM教程 | 第7讲:检索升级实践:亲手打造“更聪明”的文档理解系统!
  • Text2SQL与DataAgent技术深度对比与实践指南
  • 【算法笔记 day six】二分算法的第三部分
  • Linux下Qt样式配置
  • Qt内存映射到文件,解决打开大文件占用内存高的问题
  • Qt5 多媒体大纲
  • 基础算法之二分算法 --- 1
  • 基于SpringBoot的校园资料分享平台
  • 力扣242:有效的字母异位词