本发明专利技术适用计算机技术领域,提供了一种QT虚拟键盘焦点获取的方法,该方法包括,加载输入法插件,并创建平台输入上下文;创建keyevent,并分发setfocus;XCB接管setfocus的请求并处理焦点事件,为虚拟键盘请求焦点。通过本方法解决了QT5.12版本库上用户在触摸屏上使用虚拟键盘时无法获取窗体的输入焦点,导致虚拟键盘的输入丢失的问题。致虚拟键盘的输入丢失的问题。致虚拟键盘的输入丢失的问题。
【技术实现步骤摘要】
一种QT虚拟键盘焦点获取的方法、装置、设备及存储介质
[0001]本专利技术属于计算机
,尤其涉及一种QT虚拟键盘焦点获取的方法、装置、设备及存储介质。
技术介绍
[0002]随着科技的发展,QT在Arm Linux嵌入式平台上得到了日渐广泛的应用,QT是完整的跨平台软件开发框架,不但拥有完善的C++图形库,而且逐渐集成了数据库、OpenGL库、多媒体库、网络、脚本库、XML库、WebKit库等等,其核心库也加入了进程间通信、多线程等模块,极大的丰富了QT开发跨平台应用程序的能力。但是,由于集成部件众多,难免会有功能需求存在功能性问题,虚拟键盘在触摸屏上的窗体调用无法获得焦点就是其中之一。当前QT5.12版本的库版本存在着在触摸屏上调用虚拟键盘无法获得窗体的输入焦点,造成用户在使用上的不便利,影响了用户体验。
技术实现思路
[0003]本专利技术的目的在于提供一种QT虚拟键盘焦点获取的方法、装置、设备及存储介质,旨在解决由于现有技术中在触摸屏上调用虚拟键盘无法获得窗体的输入焦点,造成用户在使用上的不便利,影响用户体验的问题。
[0004]针对不同的通讯模块需要使用不同的拨号方法的问题。
[0005]一方面,本专利技术提供了一种QT虚拟键盘焦点获取的方法,所述方法包括下述步骤:
[0006]实现虚拟键盘接口;
[0007]创建平台输入上下文;
[0008]创建keyevent,并分发setfocus;
[0009]XCB接管所述setfocus的请求,并判断所述虚拟键盘是否具有可获取焦点的属性;
[0010]若是,XCB通过添加请求激活焦点的方法为所述虚拟键盘请求焦点;
[0011]若否,结束。
[0012]进一步地,所述实现虚拟键盘接口的步骤之前包括,加载XCB插件。
[0013]进一步地,所述实现虚拟键盘接口包括,加载输入法插件。
[0014]进一步地,所述平台输入上下文通过create函数创建。
[0015]进一步地,所述平台输入上下文包括设置焦点空间、显示虚拟键盘和隐藏虚拟键盘。
[0016]进一步地,所述为虚拟键盘请求焦点包括为触摸屏请求焦点和为鼠标请求焦点。
[0017]另一方面,本专利技术提供了一种QT虚拟键盘焦点获取的装置,所述装置包括:
[0018]接口模块,用于通过加载输入法插件实现虚拟键盘接口,并创建平台输入上下文;
[0019]焦点分发模块,用于创建keyevent,并分发setfocus;
[0020]判断模块,用于判断所述虚拟键盘是否具有可获取焦点的属性;
[0021]焦点处理模块,用于通过添加请求激活焦点的方法为所述虚拟键盘请求焦点。
[0022]另一方面,本专利技术还提供了一种设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现QT虚拟键盘焦点获取的方法所述的步骤。
[0023]另一方面,本专利技术还提供了一种可读存储介质,所述可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现QT虚拟键盘焦点获取的方法中所述的步骤。
[0024]本专利技术的有益效果:通过XCB接管并处理分发上来的焦点事件,实现了虚拟键盘焦点的获取,解决了QT5.12版本库上用户在触摸屏上使用虚拟键盘时无法获取窗体的输入焦点,导致虚拟键盘的输入丢失的问题。
附图说明
[0025]图1是本专利技术实施例提供的QT虚拟键盘焦点获取的方法的流程图;
[0026]图2是本专利技术实施例提供的QT虚拟键盘焦点获取的装置的结构示意图;
[0027]图3是本专利技术实施例提供的设备的结构示意图。
具体实施方式
[0028]为了使本专利技术的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本专利技术进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本专利技术,并不用于限定本专利技术。
[0029]以下结合具体实施例对本专利技术的具体实现进行详细描述:
[0030]实施例一:
[0031]图1示出了本专利技术实施例一提供的QT虚拟键盘焦点获取的方法的实现流程,为了便于说明,仅示出了与本专利技术实施例相关的部分,详述如下:
[0032]本实施例基于QT5.12版本,所述步骤包括:
[0033]步骤S101:实现虚拟键盘接口;
[0034]步骤S102:创建平台输入上下文;
[0035]步骤S103:创建keyevent,并分发setfocus;
[0036]步骤S104:XCB接管setfocus的请求,并判断虚拟键盘是否具有可获取焦点的属性;
[0037]步骤S105:若是,XCB通过添加请求激活焦点的方法为虚拟键盘请求焦点;
[0038]步骤S106:若否,结束。
[0039]进一步地,在步骤S101之前还包括步骤:
[0040]加载XCB插件。
[0041]进一步地,步骤S101包括:加载输入法插件。
[0042]进一步地,平台输入上下文通过create函数创建。
[0043]进一步地,平台输入上下文包括设置焦点空间、显示虚拟键盘和隐藏虚拟键盘。
[0044]进一步地,为虚拟键盘请求焦点包括为触摸屏请求焦点和为鼠标请求焦点。
[0045]实施例二:
[0046]图2示出了本专利技术实施例提供的QT虚拟键盘焦点获取的装置的结构示意图,为了便于说明,仅示出了与本专利技术实施例相关的部分,其中包括:
[0047]接口模块201,用于通过加载输入法插件实现虚拟键盘接口,并创建平台输入上下文;
[0048]焦点分发模块202,用于创建keyevent,并分发setfocus;
[0049]判断模块203,用于判断所述虚拟键盘是否具有可获取焦点的属性;
[0050]焦点处理模块204,用于通过添加请求激活焦点的方法为所述虚拟键盘请求焦点。
[0051]在本专利技术实施例中,QT虚拟键盘焦点获取的装置的各模块可由相应的硬件或软件模块实现,各模块可以为独立的软、硬件模块,也可以集成为一个软、硬件模块,在此不用以限制本专利技术。
[0052]实施例三:
[0053]图3示出了本专利技术实施例提供的设备的结构示意图,为了便于说明,仅示出了与本专利技术实施例相关的部分,其中包括:
[0054]在本专利技术实施例中,提供了一种设备,包括存储器301、处理器302以及存储在存储器中并可在处理器上运行的计算机程序303,该计算机程序被处理器执行时实现上述QT虚拟键盘焦点获取的方法实施例中的步骤,例如,图1所示的步骤S101至S106。或者,该计算机程序被处理器执行时实现上述QT虚拟键盘焦点获取的装置中各模块的功能,例如,图2所示的模块201至204。
[0055]实施例四:
[0056]在本专利技术实施例中,提供了一种可读存储介质,该可读存本文档来自技高网...
【技术保护点】
【技术特征摘要】
1.一种QT虚拟键盘焦点获取的方法,其特征在于,所述方法包括下述步骤:实现虚拟键盘接口;创建平台输入上下文;创建keyevent,并分发setfocus;XCB接管所述setfocus的请求,并判断所述虚拟键盘是否具有可获取焦点的属性;若是,XCB通过添加请求激活焦点的方法为所述虚拟键盘请求焦点;若否,结束。2.根据权利要求1所述的QT虚拟键盘焦点获取的方法,其特征在于,所述实现虚拟键盘接口的步骤之前包括,加载XCB插件。3.根据权利要求1所述的QT虚拟键盘焦点获取的方法,其特征在于,所述实现虚拟键盘接口包括,加载输入法插件。4.根据权利要求1所述的QT虚拟键盘焦点获取的方法,其特征在于,所述平台输入上下文通过create函数创建。5.根据权利要求1所述的QT虚拟键盘焦点获取的方法,其特征在于,所述平台输入上下文包括设置焦点空间、显示虚拟键盘和隐藏虚拟键盘。6....
【专利技术属性】
技术研发人员:冯学焜,
申请(专利权)人:深圳市智微智能软件开发有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。