Как использовать QtVirtualKeyboard

Я пытаюсь интегрировать QtVirtualKeyboard в прототип, но я не могу. Это первый раз, когда я работаю с несколькими проектами или когда мне приходится включать неосновные вещи в QML/QMake-Project.

Я получил код из git-репозитория и успешно запускал примеры. Но теперь я озадачен тем, как интегрировать его в свой собственный проект.

Моя структура проекта выглядит следующим образом

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 -файл
=> Да, я могу это сделать, но в этом нет никакой заслуги.

Так что мне нужно сделать, чтобы на самом деле использовать его? Это должно быть действительно легко, потому что я не могу найти ни одного вопроса относительно этого где-либо на Google, YouTube или SO.

РЕДАКТИРОВАТЬ => Я все еще не могу. Это моя история:

Я попробовал метод развертывания, следуя инструкциям здесь.
Поскольку я предпочел бы иметь клавиатуру в приложении, я сделал следующее:

  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\

Сейчас в моем проекте я добавил строку

QT_IM_MODULE=qtvirtualkeyboard myapp

И попытался импортировать его в мой main.qml

import QtQuick.VirtualKeyboard 2.0 // (also tried it with 2.1)

Я получил ошибку:

[путь]/main.qml:10 модуль "QtQuick.VirtualKeyboard" не установлен

И на этом моя история заканчивается. Любые предложения, где я потерпел неудачу?

2 ответа

Решение

Хорошо, я наконец преуспел. Хотя это действительно очень близко к документации, я не думаю, что документацию легко понять. Поэтому я опубликую это пошаговое руководство, где я проясню свои заблуждения.

  1. Загрузите исходный код из git-репозитория
  2. Откройте проект qtvirtualkeyboard.pro с помощью QtCreator и запустите его с конфигурацией release
    Он создаст несколько каталогов и файлов в вашем каталоге установки Qt. Вам не нужно ничего добавлять в каталог вашего проекта. После того, как все готово и ваше благо для всех проектов впереди.
  3. Убедитесь, что вы установили QT_IM_MODULE переменная среды для включения qtvirtualkeyboard, Моя ошибка заключалась в том, чтобы предположить (я не знаю почему), что это может быть сделано в проектах .pro-файл. Это кажется неправильным. Метод C++ кажется безопасным:
    qputenv("QT_IM_MODULE", QByteArray("qtvirtualkeyboard"));

  4. Если вы хотите, чтобы в вашем приложении была клавиатура, добавьте
    CONFIG += disable-desktop к вашим проектам .pro-файл

  5. Повеселись!

Если вы выберете компонент Qt Virtual Keyboard под определенной версией Qt, вы должны получить предварительно скомпилированные двоичные файлы:

Инструмент обслуживания

Компонент дополнений Qt Enterprise имеет подкомпонент виртуальной клавиатуры (?), Который может дать вам только источники... не уверен.

Если вам действительно необходимо иметь модуль в репозитории Git вашего проекта, может быть проще просто добавить его в качестве подмодуля и сослаться на него в подпроекте " Thirdparty " SUBDIRS.

Другие вопросы по тегам