我尝试将 QtVirtualKeyboard
集成到原型(prototype)中,但失败了。
这是我第一次处理多个项目,或者我必须在 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 上的任何地方都找不到关于它的任何问题。
EDIT => 我还是失败了。 这是我的故事:
我尝试了部署方法,按照说明 here 。
由于我更喜欢在应用程序中使用键盘,因此我执行了以下操作:
make install
-stept qmake
传递了一个额外的参数 "CONFIG+=disable-desktop
它似乎奏效了。在提到的目录中有新文件:
现在在我的项目中,我添加了这一行
QT_IM_MODULE=qtvirtualkeyboard myapp
并尝试将其导入我的
main.qml
import QtQuick.VirtualKeyboard 2.0 // (also tried it with 2.1)
我得到了错误:
到目前为止,我的故事到此结束。我失败的任何建议?
最佳答案
好吧,我终于成功了。尽管它确实与 documentation 非常接近,但我认为文档并不容易理解。因此,我将发布此分步指南,以清除我自己的误解。
release
运行它将在您的 Qt 安装目录中创建一些目录和文件。您无需在项目目录中添加任何内容。一旦完成,您对所有项目都有好处。
QT_IM_MODULE
环境变量设置为包含 qtvirtualkeyboard
。我的错误是,假设(我不知道为什么)这可能在项目 .pro
-file 中完成。这似乎是错误的。 C++ 方法似乎是安全的:qputenv("QT_IM_MODULE", QByteArray("qtvirtualkeyboard"));
CONFIG += disable-desktop
到你的项目 .pro
-file