[發明專利]一種基于Qt5的虛擬鍵盤輸入方法在審
| 申請號: | 202011049864.4 | 申請日: | 2020-09-29 |
| 公開(公告)號: | CN112328093A | 公開(公告)日: | 2021-02-05 |
| 發明(設計)人: | 包漢瑜;劉雙妹;盧冉;孫文本 | 申請(專利權)人: | 中國船舶重工集團公司第七0七研究所 |
| 主分類號: | G06F3/023 | 分類號: | G06F3/023;G06F3/0488;G06F9/445 |
| 代理公司: | 天津盛理知識產權代理有限公司 12209 | 代理人: | 王利文 |
| 地址: | 300131 天*** | 國省代碼: | 天津;12 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 基于 qt5 虛擬 鍵盤輸入 方法 | ||
1.一種基于Qt5的虛擬鍵盤輸入方法,其特征在于:包括以下步驟:
步驟1、配置輸入法插件;
步驟2、根據插件設置輸入法界面;
步驟3、設計虛擬鍵盤響應的流程。
2.根據權利要求1所述的一種基于Qt5的虛擬鍵盤輸入方法,其特征在于:所述步驟1的包括以下步驟:
步驟1.1、QT根據環境變量QT_IM_MODULE加載輸入法插件MyInputPlatformInputContextPlugin;
步驟1.2、調用輸入法插件MyInputPlatformInputContextPlugin的create函數初始化MyInputPlatformInputContext類對象實現showInputPanel和hideInputPanel函數;
步驟1.3、MyInputPlatformInputContext的構造函數初始化QDBusInterface時,注冊服務。
3.根據權利要求1所述的一種基于Qt5的虛擬鍵盤輸入方法,其特征在于:所述步驟1.1中輸入法插件MyInputPlatformInputContextPlugin繼承于QPlatformInputContextPlugin,其頭文件通過Q_PLUGIN_METADATA聲明。
4.根據權利要求1所述的一種基于Qt5的虛擬鍵盤輸入方法,其特征在于:所述步驟1.3中注冊服務傳入的第一個參數“com.virt.input”為服務名,第二個“/input/myInput”為服務下的路徑,第三個“local.keyboard.Dialog”為接口的名稱。
5.根據權利要求1所述的一種基于Qt5的虛擬鍵盤輸入方法,其特征在于:所述步驟2包括以下步驟:
步驟2.1、調用InputService在dbus上注冊一個服務和對象;
步驟2.2、通過QDBusConnection::sessionBus()獲得QDBusConnection的對象conn;
步驟2.3、通過conn對象的registerService(“com.virt.input”)函數注冊服務;
步驟2.4、通過conn的registerObject函數注冊Board對象;
步驟2.5、調用initWidgets函數對虛擬鍵盤界面進行初始化和布局。
6.根據權利要求1所述的一種基于Qt5的虛擬鍵盤輸入方法,其特征在于:所述步驟2.5中對界面進行初始化和布局包括:輸入法插件MyInputPlatformInputContextPlugin調用函數showInputPanel,進行showKeyboard彈出鍵盤;輸入法插件MyInputPlatformInputContextPlugin調用函數hideInputPanel,進行hideKeyboard隱藏鍵盤;輸入法界面導出函數pressKey,把按鍵事件傳至輸入法界面,輸入法界面點擊確定按鈕后,發出一個commit信號,輸入法插件響應此信號,把字符串發送給焦點控件,焦點控件顯示字符的值。
7.根據權利要求1所述的一種基于Qt5的虛擬鍵盤輸入方法,其特征在于:所述步驟3包括以下步驟:
步驟3.1、判斷是否執行export QT_IM_MODULE=myInput,若執行則進行步驟3.2,否則結束;
步驟3.2、調用輸入法插件MyInputPlatformInputContextPlugin的create函數;
步驟3.3、初始化MyInputPlatformInputContext,注冊服務com.virt.input,注冊接口名稱,關聯commit信號和keyboardCommit槽函數;
步驟3.4、判斷是否執行輸入法界面keyboard,若執行則進行步驟3.5,否則結束;
步驟3.5、調用InputService類注冊服務和Board對象;
步驟3.6、判斷焦點是否在Qt輸入框,若焦點在Qt輸入框,則進行步驟3.7,否則重復步驟3.6;
步驟3.7、彈出輸入法界面;
步驟3.8、獲取用戶輸入的字符,并發送commit信號;
步驟3.9、輸入法插件MyInputPlatformInputContextPlugin調用keyboardCommit,把提交的字符發送給焦點控件并結束。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于中國船舶重工集團公司第七0七研究所,未經中國船舶重工集團公司第七0七研究所許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202011049864.4/1.html,轉載請聲明來源鉆瓜專利網。
- 上一篇:基于單片機編譯器的多文件自動生成合并方法
- 下一篇:像素結構、陣列基板





