Qt虚拟键盘的使用方法

How to use the QtVirtualKeyboard

我尝试将 QtVirtualKeyboard 集成到原型中,但我失败了。 这是我第一次处理多个项目,或者我必须在 QML/QMake-Project.

中包含非基本内容

我从 git-repository 获得了代码并且成功地 运行 了示例。但是现在很纠结如何把它集成到自己的项目中。

我的项目结构如下

Proto (dir)
 +- Proto.pro
 +- main.cpp
 +- ...
 +---QML (dir)                     <--- QML-Files
 |    +-main.qml
 |    +---CustomControls (dir)
 |    +---...
 +---CPP (dir)                     <--- C++-Files and Headers
 +---RES                           <--- Icons and stuff

现在我想我可能只是将 src-project 从虚拟键盘添加到根文件夹 (Proto),然后添加如下内容:

SUBDIR += src/src.pro

Proto.pro-文件
=> 是的,我可以做到,但没有任何好处。

那么我需要做什么才能真正使用它?这一定很简单,因为我在 google、youtube 或 SO 上找不到任何关于它的问题。

编辑 => 我还是失败了。 这是我的故事:

我尝试了部署-方法,按照说明here
因为我更喜欢在应用程序中使用键盘,所以我执行了以下操作:

  1. 我添加了 make install-步骤
  2. 我向 qmake 传递了一个附加参数 "CONFIG+=disable-desktop

它似乎起作用了。在上述目录中获得新文件:

现在在我的项目中,我添加了行

QT_IM_MODULE=qtvirtualkeyboard myapp

并尝试将其导入我的 main.qml

import QtQuick.VirtualKeyboard 2.0 // (also tried it with 2.1)

我收到错误:

[path]/main.qml:10 module "QtQuick.VirtualKeyboard" is not installed

我的故事到此结束。对我失败的地方有什么建议吗?

好的,我终于成功了。虽然它确实非常接近 documentation,但我认为该文档并不容易理解。因此,我将 post 这个循序渐进的指南,我将在其中澄清我自己的误解。

  1. git-repository
  2. 下载源代码
  3. 用QtCreator打开项目qtvirtualkeyboard.pro,运行配置release
    它将在您的 Qt 安装目录中创建一些目录和文件。您不需要在项目目录中添加任何内容。一旦完成,您对所有项目都有好处。
  4. 确保将 QT_IM_MODULE 环境变量设置为包含 qtvirtualkeyboard。我的错误是,假设(我不知道为什么)这可能在项目 .pro 文件中完成。这似乎是错误的。 C++ 方法似乎是安全的:
    qputenv("QT_IM_MODULE", QByteArray("qtvirtualkeyboard"));

  5. 如果您想在应用程序中使用键盘,请添加
    CONFIG += disable-desktop 到您的项目 .pro-file

  6. 玩得开心!

如果您 select 特定 Qt 版本下的 Qt 虚拟键盘组件,您应该获得预构建的二进制文件:

Qt Enterprise Add-ons 组件有一个虚拟键盘 sub-component (?) 这可能只会给你来源..不确定。

如果您确实需要在项目的 Git 存储库中包含该模块,将其添加为 submodule, and reference that in a "3rdparty" SUBDIRS sub-project.

可能更容易