关于 Qt输入法在arm特定的某些weston下出现调用崩溃 的解决方法

若该文为原创文章,转载请注明原文出处

本文章博客地址:https://hpzwl.blog.csdn.net/article/details/140423667

长沙红胖子Qt(长沙创微智科)博文大全:开发技术集合(包含Qt实用技术、树莓派、三维、OpenCV、OpenGL、ffmpeg、OSG、单片机、软硬结合等等)持续更新中...

Qt开发专栏:各种问题解决(点击传送门)

问题

输入法移植到飞L嵌入式的weston图形系统板子上,出现一闪而过的问题。

延伸出输入法移植到rk3588定制的weston图形系统板子上,出现崩溃的问题。

摸索过程1:输入法移植到飞L嵌入式的weston图形系统板子上,出现一闪而过的问题

这个协同客户做了测试:

1.在close和hide的窗口和输入法插件代码中添加打印和弹窗,是弹出来了。

2.采取规避方法,强制弹出后200ms不隐藏,忽略隐藏消息,结果发现是因为丢失焦点,键盘还在无法输入。

3.以上确认是因为系统确实因为丢失了焦点才导致的,这个问题只能方案商解决,或者采取最后的与应用合并的方式去解决。

摸索过程2:延伸出输入法移植到rk3588定制的weston图形系统板子上,出现崩溃的问题。

检查头文件:

改下PinYin为PinYin1,确认是否插件挂的:

以下检查了系统的Qt库,是没有问题的,编译器没有检查,因为本身这个测试最后调用只依赖了最基础的插件系统和QWidget图形库(已经剔除了输入法本身,只是一个弹出裸界面,不new界面就没有问题,但是插件和库都是依赖的本地)。

只要调取与界面相关的元素采集,插件就会有问题。

基本可以盘点给是Qt与weston在环境变量插件这个地方有兼容性问题。

后续有时间会继续论证给迅w的rk3568,rk3588的输入法(其实这块,有客户已经购m了,都是ok的),为了确保严谨,我们后续会确认编译和系统都来自同一间原始开发板来进行测试。

解决方法:键盘合并到应用中,可以解决以上2个问题

我们修改了输入法的焦点,在另外一个工程上使用按键弹出的模式来测试在主界面上无焦点顶层到最外层窗口上,对内部当前有输入焦点的进行虚拟键盘的模拟方式输入,是可以解决的。

继续点击,继续输入。

这个方法就得将输入法改成一个窗口,做全局过滤器,是输入可以支持输入的(输入法插件里面的判断是否弹出键盘有这块详细代码,直接copy模仿即可),然后弹出这个界面,然后隐藏也是模仿(不知道是否有,没细看了),或者是自己手动点击没有焦点的地方(做事件过滤器)就可以隐藏了。

这个方案修改的部分稍微有点大,且是融合到应用中,但是整体部署也相对简单一些了(没有了plat的插件了)。

本文章博客地址:https://hpzwl.blog.csdn.net/article/details/140423667

相关推荐
笨笨马甲3 小时前
Qt Quick模块功能及架构
开发语言·qt
姜君竹5 小时前
QT的工程文件.pro文件
开发语言·c++·qt·系统架构
奇树谦5 小时前
使用VTK还是OpenGL集成到qt程序里哪个好?
开发语言·qt
待什么青丝7 小时前
【TMS570LC4357】之相关驱动开发学习记录2
c语言·arm开发·驱动开发·单片机·学习
AAA废品回收站陈师傅7 小时前
68常用控件_QGroupBox的使用
qt
明月醉窗台8 小时前
qt使用笔记二:main.cpp详解
数据库·笔记·qt
szxinmai主板定制专家8 小时前
【飞腾AI加固服务器】全国产化飞腾+昇腾310+PCIe Switch的AI大模型服务器解决方案
运维·服务器·arm开发·人工智能·fpga开发
沉到海底去吧Go8 小时前
【图片自动识别改名】识别图片中的文字并批量改名的工具,根据文字对图片批量改名,基于QT和腾讯OCR识别的实现方案
数据库·qt·ocr·图片识别自动改名·图片区域识别改名·pdf识别改名
奥修的灵魂12 小时前
QT进阶之路:带命名空间的自定义控件在Qt设计器与qss中的使用技巧
qt·命名空间
小狗爱吃黄桃罐头13 小时前
正点原子[第三期]Arm(iMX6U)Linux移植学习笔记-12.1 Linux内核启动流程简介
linux·arm开发·学习