当前位置: 首页 > 网络知识

Qt VirtualKeyboard C++集成与实现(QWidget)

时间:2026-01-29 09:26:37

一. 设置

1.配置所需语言

1). 通过Qt Creator配置

打开Qt工程文件,点开左侧Projects>Build>Build Steps>qmake>Additional arguments

Additional arguments增加配置参数:

CONFIG+="langar_AR langda_DK langde_DE langen_GB langes_ES langfa_FA langfi_FI langfr_FR langhi_IN langit_IT langja_JP langko_KR langnb_NO langpl_PL langpt_PT langru_RU langsv_SE langzh_CN langzh_TW"

按需选择所需语言,当然如果简单点配置为所有语言,则如下:

CONFIG+=langall

2.配置所需语言

2). 直接通过命令行配置并生成makefile文件

/opt/Qt5.10.1/5.10.1/gcc_64/bin/qmake qtvirtualkeyboard.pro spec linuxg++ 'CONFIG+=langall'

通过spec参数指定为linux平台。

3.virtualkeyboard.pro配置文件增加:

LIBS+=L../../lib

这么做的原因是因为集成汉语、日语等带有三方库的语言时,最后生成qtvirtualkeyboard时会找不到已生成的三方库,我们只需添加路径即可解决这个问题。

二. C++集成

为了在传统 QWidget 程序里(和QML相对应)也使用 Qt Virtual Keyboard,我们只需在程序的入口处加入如下代码即可:

qputenv("QT_IM_MODULE", QByteArray("qtvirtualkeyboard"));

最后,程序看起来像这样

1 int main(int argc, char *argv[]) 2

三. 定制键盘大小和位置

我们需要更改 InputPanel.qml 文件

1 Item 17 } 18 }

  示例代码如上所示,定义了键盘的水平中心位置宽度,键盘的纵向位置通过y设定,由getInputY()函数返回,小C这里没有给出函数具体实现,比较常规的思路可以是根据输入框的位置自适应键盘的位置,当然这还需要更改 qtvirtualkeyboard 相关文件的c++代码,小C这里不做赘述。



上一篇:Qt 设置button互斥,一组button只能选中一个
下一篇:Qt LineEdit使用inputMethodHints属性设置无效原因
Qt
  • 英特尔与 Vertiv 合作开发液冷 AI 处理器
  • 英特尔第五代 Xeon CPU 来了:详细信息和行业反应
  • 由于云计算放缓引发扩张担忧,甲骨文股价暴跌
  • Web开发状况报告详细介绍可组合架构的优点
  • 如何使用 PowerShell 的 Get-Date Cmdlet 创建时间戳
  • 美光在数据中心需求增长后给出了强有力的预测
  • 2027服务器市场价值将接近1960亿美元
  • 生成式人工智能的下一步是什么?
  • 分享在外部存储上安装Ubuntu的5种方法技巧
  • 全球数据中心发展的关键考虑因素
  • 英特尔与 Vertiv 合作开发液冷 AI 处理器

    英特尔第五代 Xeon CPU 来了:详细信息和行业反应

    由于云计算放缓引发扩张担忧,甲骨文股价暴跌

    Web开发状况报告详细介绍可组合架构的优点

    如何使用 PowerShell 的 Get-Date Cmdlet 创建时间戳

    美光在数据中心需求增长后给出了强有力的预测

    2027服务器市场价值将接近1960亿美元

    生成式人工智能的下一步是什么?

    分享在外部存储上安装Ubuntu的5种方法技巧

    全球数据中心发展的关键考虑因素