am335x使用qtvirtualkeyboard

    qt5.7的qtvirtualkeyboard在ubuntu上编译安装后可用,在板子上则不行,直接以系统方式调用根本调不出来,而如果以应用内嵌方式虽然点击TextField后能弹出输入窗口却不能输入文字,每次点击虚拟字母按键都会弹出"intupt method is not set"的提示。

解释:ubuntu启动QGuiApplication会加载xcb-qpa插件作为图形后端对接程序,该插件会正确处理来自x11窗口的窗口激活事件及焦点改变事件传给qtplatformcontext,使后者能保存当前焦点窗口控件,继而能调用qtvirtualkeyboard的处理按键操作方法。

而am335x官方提供的yocto基于arago,默认使用wayland+weston作为图形后端,与qt对接的插件为qtwaland,后者需要在启动图形程序时初始化键盘组件才能把窗口激活及焦点变化通知给qt框架,否则如果系统中没有物理键盘驱动(对应的event文件)将导致qtplatformcontext一直未能持有当前焦点控件,也就不能获得正确的inputmethod来处理qtvirtualkeyboard的点击操作,所以一直报上述错误,欲修正该问题需要在板子上配置物理键盘驱动,GPIO数字键盘即可。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值