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

【Rust GUI开发入门】编写一个本地音乐播放器(13. 实现按键绑定) - Jordan

本系列教程对应的代码已开源在 Github zeedle

本篇文章介绍Slint UI如何为播放器页面添加按键绑定,核心思路是当窗口聚焦时,扫描用户按键输入,命中指定按键时,自动调用相关回调函数。Slint UI支持FocusScope来处理上述逻辑:

export component MainWindow inherits Window {...forward-focus: key-input-handler;...key-input-handler := FocusScope {key-released(event) => {if event.text == Key.Space {root.toggle_play();return accept;} else if event.text == Key.RightArrow || event.text == Key.DownArrow {root.play_next();return accept;} else if event.text == Key.LeftArrow || event.text == Key.UpArrow {root.play_prev();return accept;} else if event.text == Key.F1 {tabs.current-index = 0;return accept;} else if event.text == Key.F2 {tabs.current-index = 1;return accept;} else if event.text == Key.F3 {tabs.current-index = 2;return accept;} else if event.text == Key.F4 {tabs.current-index = 3;return accept;}return reject;}}
}

代码解释

上述代码指定了,当某个按键按下时,所触发的操作:

  • 空格键:播放/暂停当前歌曲
  • 上键头/左键头:上一首歌曲
  • 下箭头。右箭头:下一首歌曲
  • F1:切换到音乐列表页
  • F2:切换到歌词页
  • F3:切换到设置页
  • F4:切换到关于页
http://www.hskmm.com/?act=detail&tid=21750

相关文章:

  • mem reduct 没有托盘图标
  • C++ GUI 选型记
  • TypeScript 泛型 T 详细解释
  • day007
  • 【Rust GUI开发入门】编写一个本地音乐播放器(12. 国际化应用-多语言支持) - Jordan
  • 2025秋_6
  • 程序语言杂谈:C/C++
  • 2025秋_7
  • PEP8 规范
  • print() 函数
  • 第九天
  • Pycharm 设置
  • [NOIP 2016 提高组] 组合数问题
  • 新建第一个项目
  • 笛卡尔树 (区间最小值)
  • CF2003F. Turtle and Three Sequences
  • 【Rust GUI开发入门】编写一个本地音乐播放器(11. 支持动态明暗主题切换) - Jordan
  • 利用接口中的静态虚拟成员实现自定义配置节
  • 天线增益与有源接收面积之间的关系
  • 2025CSP-S晋级和英才计划入围后:我走过了哪些路
  • 流量分析
  • fdsaf -
  • 【J+S 二十连测】-- 第十二套爆炸记
  • 2025-2026-1 CS3311 软件工程 个人项目第一版已发布
  • Python浅拷贝、深拷贝
  • 破解 Pycharm
  • 阿里业务身份建模
  • 实用指南:矩阵结构体 图片绘制 超级玛丽demo6
  • 5分钟理清:Session、JWT、Token、SSO、OAuth 2.0 认证逻辑
  • 2025年10.1~10.6日信息竞赛计划安排表