天嵌 ARM开发社区

 找回密码
 注册
查看: 2371|回复: 2

怎么实现嵌入式Linux QT home键功能

[复制链接]
edwin2009 发表于 2012-12-11 09:55:35 | 显示全部楼层 |阅读模式
大家好!嵌入式Linux下QT程序怎么实现“操作外部Home键后直接返回到主界面(顶级窗口)”,类似于智能手机home键显示桌面? 而其他子窗口关闭或在后台运行。
    请各位指教,诚谢!

【说明】
  1)qt版本是:4.7.4;
  2)qt程序界面间采用父-->子关系;
  3)home键作为系统键,目前思路有三:
     一、在任何子窗口界面时响应home键,同时关闭除父窗口之外的所有子窗口;
     二、在任何子窗口界面时响应home键,同时置顶父窗口,所有子窗口后台运行(此法应该行不通,只有一个主进程);
     三、关闭当前QT应用程序后重启它,便进入第一个主界面(此法太野蛮,且有后顾之忧)。
     
      另外,就是将home键在应用层处理判断,实现“返回”和“Home键”功能,但应用目录界面不同,修改较多,个人觉得此思路不简便。
 楼主| edwin2009 发表于 2012-12-11 14:29:59 | 显示全部楼层
你好,目前是将键盘驱动编译到内核里,而将其与QT的接口通过事件驱动关联起来(即修改了QT源码原有键盘后,再配置时加入此键盘选项,同时在rootfs环境变量声明键盘设备名称及路径:
export QWS_KEYBOARD=tty:/dev/event0),作为系统键来使用的。
     如按你的建议,监听keyinput事件需要在QT应用层处理吧? 并且怎么知道子窗口有多少层?有相关的系统变量么? 是否需要另定义全局变量统计“打开”和“关闭”窗口的数量?
     
回复

使用道具 举报

TQ-lkp 发表于 2012-12-11 11:06:41 | 显示全部楼层
1、如果界面是父子关系的话,你监听一个keyinput事件,应该是主界面接收到的,你遍历关闭所有的子界面就行了
2、将home键修改,单独做一个驱动,主界面来读取值,按下就遍历关闭所有的子界面就行了
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

i.MX8系列ARM cortex A53 M4 工控板上一条 /1 下一条

Archiver|手机版|小黑屋|天嵌 嵌入式开发社区 ( 粤ICP备11094220号-2 )

GMT+8, 2025-6-17 06:11 , Processed in 2.037660 second(s), 20 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表