如何使用QtVirtualKeyboard

问题描述 投票:0回答:2

我尝试将

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
项目添加到根文件夹(
Proto
),然后添加类似以下内容:

SUBDIR += src/src.pro

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

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

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

我尝试了部署方法,按照说明进行操作此处
由于我希望在应用程序中使用键盘,因此我执行了以下操作:

  1. 我添加了
    make install
    -stept
  2. 我通过了
    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)

我收到错误:

[路径]/main.qml:10 模块“QtQuick.VirtualKeyboard”未安装

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

qt qml qt5.7 qtvirtualkeyboard
2个回答
13
投票

虽然它确实非常接近文档,但我认为文档并不容易理解。因此,这里有一个分步指南来消除我自己的误解:

  1. git-repository

    下载源代码
  2. 使用Qt Creator打开项目qtvirtualkeyboard.pro,并使用配置运行它

    release

    它将在您的 Qt 安装目录中创建一些目录和文件。您不需要在项目目录中添加任何内容。完成后,您对接下来的所有项目都有好处。

  3. 确保您将

    QT_IM_MODULE
    环境变量设置为包含
    qtvirtualkeyboard
    。我的错误是,假设(我不知道为什么)这可能在项目
    .pro
    文件中完成。这似乎是错误的。 C++ 方法看起来很安全:
    qputenv("QT_IM_MODULE", QByteArray("qtvirtualkeyboard"));

  4. 如果您想在应用程序中使用键盘,请添加

    CONFIG += disable-desktop
    到您的项目
    .pro
    -文件


3
投票

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

Maintenance Tool

Qt Enterprise Add-ons 组件有一个虚拟键盘子组件(?),它可能只能为您提供源......不确定。

如果您确实需要在项目的 Git 存储库中包含该模块,则将其添加为 submodule 并在“3rdparty”SUBDIRS 子项目中引用它可能会更容易。

© www.soinside.com 2019 - 2024. All rights reserved.