首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用QtVirtualKeyboard

如何使用QtVirtualKeyboard
EN

Stack Overflow用户
提问于 2017-03-03 10:28:41
回答 2查看 17.6K关注 0票数 5

我试图将QtVirtualKeyboard集成到一个原型中,但失败了。这是我第一次与多个项目一起工作,或者我必须在QML/中包含非基本内容。

我从http://code.qt.io/cgit/qt/qtvirtualkeyboard.git/获得了代码,并成功地运行了这些示例。但是现在我对如何将它集成到我自己的项目中感到困惑。

我的项目结构如下

代码语言:javascript
复制
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),并添加如下内容:

代码语言:javascript
复制
SUBDIR += src/src.pro

Proto.pro-file

=>是的,我能做到,但里面没有梅里特。

那么,我需要做什么,才能真正使用它呢?这肯定很容易,因为我在google、youtube等网站上找不到任何关于它的问题。

编辑=> I仍然失败。这是我的故事:

我尝试了部署-方法,遵循这里的指令。

由于我更希望应用程序中有键盘,所以我做了以下工作:

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

似乎很管用。在上述目录中获得新文件:

  • C:\Qt\Qt5.7.0\5.7\mingw53_32\qml\QtQuick_VirtualKeyboard_
  • C:\Qt\Qt5.7.0\5.7\mingw53_32\qml\QtQuick_Virtualkeyboard_Styles
  • C:\Qt\Qt5.7.0\5.7\mingw53_32\plugins\platforminputcontexts\

在我的项目中,我增加了一行

代码语言:javascript
复制
QT_IM_MODULE=qtvirtualkeyboard myapp

并试图在我的main.qml中导入它

代码语言:javascript
复制
import QtQuick.VirtualKeyboard 2.0 // (also tried it with 2.1)

我发现了一个错误:

path/main.qml:未安装10个模块"QtQuick.VirtualKeyboard“

到目前为止,我的故事就此结束。有什么建议我失败了吗?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2017-03-06 13:14:29

好吧,我终于成功了。虽然它确实非常接近文档,但我不认为文档很容易理解。为此,我将一步一步地发布这篇文章,在那里我将澄清我自己的误解。

  1. git-储存库下载源代码
  2. 使用qtvirtualkeyboard.pro打开项目QtCreator,并使用配置release运行它 它将在Qt安装dir中创建一些目录和文件。您不需要在项目目录中添加任何内容。一旦完成,你对所有的项目都会有好处。
  3. 确保将QT_IM_MODULE环境变量设置为包含qtvirtualkeyboard。我的错误是,假设(我不知道为什么)这可能在项目.pro-file中完成。这似乎是不对的。C++方法似乎是安全的: qputenv("QT_IM_MODULE", QByteArray("qtvirtualkeyboard"));
  4. 如果希望在应用程序中拥有键盘,请添加 CONFIG += disable-desktop到您的项目.pro-file
  5. 玩得开心!
票数 13
EN

Stack Overflow用户

发布于 2017-03-06 13:14:48

如果在特定的Qt版本下选择组件,则应该获得预构建的二进制文件:

外接程序组件具有虚拟键盘子组件(?)这可能只会给你消息来源。不确定。

如果您确实需要在项目的Git中使用该模块,那么将其添加为子模并在“3 3rdparty”SUBDIRS子项目中引用该模块可能会更容易。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/42576436

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档