der*_*erM 3 qt qml qt5.7 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
Run Code Online (Sandbox Code Playgroud)
现在我想我可能只是将src-project从虚拟键盘添加到root-folder(Proto),并添加如下内容:
SUBDIR += src/src.pro
Run Code Online (Sandbox Code Playgroud)
to Proto.pro-file
=>是的,我可以这样做,但它没有任何优点.
那么我需要做什么才能真正使用呢?这一定非常简单,因为我无法在google,youtube或SO上找到任何关于它的问题.
编辑=>我仍然失败.这是我的故事:
我尝试了部署方法,按照这里的说明进行操作.
由于我更喜欢在应用程序中使用键盘,因此我执行了以下操作:
make install步骤qmake了另一个论点"CONFIG+=disable-desktop它似乎工作.在提到的目录中获得了新文件:
现在在我的项目中,我添加了这一行
QT_IM_MODULE=qtvirtualkeyboard myapp
Run Code Online (Sandbox Code Playgroud)
并尝试将其导入我的 main.qml
import QtQuick.VirtualKeyboard 2.0 // (also tried it with 2.1)
Run Code Online (Sandbox Code Playgroud)
我收到了错误:
[path] /main.qml:10模块未安装"QtQuick.VirtualKeyboard"
这就结束了我的故事.我失败的任何建议?
好的,我终于成功了.虽然它确实非常接近文档,但我认为文档不易理解.因此,我将逐步发布这个指导,在那里我将清除自己的错误观念.
release确保将QT_IM_MODULE环境变量设置为include qtvirtualkeyboard.我的错误是,假设(我不知道为什么)这可以在projects .pro-file中完成.这似乎是错误的.C++ - 方法似乎很安全:
qputenv("QT_IM_MODULE", QByteArray("qtvirtualkeyboard"));
如果要在应用程序中使用键盘,请添加
CONFIG += disable-desktop到projects .pro-file
玩得开心!