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。
因为我更喜欢在应用程序中使用键盘,所以我执行了以下操作:
- 我添加了
make install
-步骤
- 我向
qmake
传递了一个附加参数 "CONFIG+=disable-desktop
它似乎起作用了。在上述目录中获得新文件:
- C:\Qt\Qt5.7.0.7\mingw53_32\qml\QtQuick\虚拟键盘
- C:\Qt\Qt5.7.0.7\mingw53_32\qml\QtQuick\虚拟键盘\样式
- C:\Qt\Qt5.7.0.7\mingw53_32\plugins\platforminputcontexts\
现在在我的项目中,我添加了行
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 这个循序渐进的指南,我将在其中澄清我自己的误解。
- 从 git-repository
下载源代码
- 用QtCreator打开项目qtvirtualkeyboard.pro,运行配置
release
它将在您的 Qt 安装目录中创建一些目录和文件。您不需要在项目目录中添加任何内容。一旦完成,您对所有项目都有好处。
确保将 QT_IM_MODULE
环境变量设置为包含 qtvirtualkeyboard
。我的错误是,假设(我不知道为什么)这可能在项目 .pro
文件中完成。这似乎是错误的。 C++ 方法似乎是安全的:
qputenv("QT_IM_MODULE", QByteArray("qtvirtualkeyboard"));
如果您想在应用程序中使用键盘,请添加
CONFIG += disable-desktop
到您的项目 .pro
-file
玩得开心!
如果您 select 特定 Qt 版本下的 Qt 虚拟键盘组件,您应该获得预构建的二进制文件:
Qt Enterprise Add-ons 组件有一个虚拟键盘 sub-component (?) 这可能只会给你来源..不确定。
如果您确实需要在项目的 Git 存储库中包含该模块,将其添加为 submodule, and reference that in a "3rdparty" SUBDIRS sub-project.
可能更容易
我尝试将 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。
因为我更喜欢在应用程序中使用键盘,所以我执行了以下操作:
- 我添加了
make install
-步骤 - 我向
qmake
传递了一个附加参数"CONFIG+=disable-desktop
它似乎起作用了。在上述目录中获得新文件:
- C:\Qt\Qt5.7.0.7\mingw53_32\qml\QtQuick\虚拟键盘
- C:\Qt\Qt5.7.0.7\mingw53_32\qml\QtQuick\虚拟键盘\样式
- C:\Qt\Qt5.7.0.7\mingw53_32\plugins\platforminputcontexts\
现在在我的项目中,我添加了行
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 这个循序渐进的指南,我将在其中澄清我自己的误解。
- 从 git-repository 下载源代码
- 用QtCreator打开项目qtvirtualkeyboard.pro,运行配置
release
它将在您的 Qt 安装目录中创建一些目录和文件。您不需要在项目目录中添加任何内容。一旦完成,您对所有项目都有好处。 确保将
QT_IM_MODULE
环境变量设置为包含qtvirtualkeyboard
。我的错误是,假设(我不知道为什么)这可能在项目.pro
文件中完成。这似乎是错误的。 C++ 方法似乎是安全的:
qputenv("QT_IM_MODULE", QByteArray("qtvirtualkeyboard"));
如果您想在应用程序中使用键盘,请添加
CONFIG += disable-desktop
到您的项目.pro
-file玩得开心!
如果您 select 特定 Qt 版本下的 Qt 虚拟键盘组件,您应该获得预构建的二进制文件:
Qt Enterprise Add-ons 组件有一个虚拟键盘 sub-component (?) 这可能只会给你来源..不确定。
如果您确实需要在项目的 Git 存储库中包含该模块,将其添加为 submodule, and reference that in a "3rdparty" SUBDIRS sub-project.
可能更容易