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

Вопрос: Я пытаюсь интегрировать QtVirtualKeyboard в прототип, но я QtVirtualKeyboard неудачу. Это первый раз, когда я работаю с несколькими проектами или где я должен включать не-базовые вещи в QML/QMake -project. Я получил код из git-репозитория и успешно использовал примеры. Но теперь я озадачен тем, как интегрировать его в свой собственный проект. Моя структура проекта выглядит

Вопрос:

Я пытаюсь интегрировать 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 -project с виртуальной клавиатуры в корневую папку (Proto) и добавить что-то вроде:

SUBDIR += src/src.pro

к Proto.pro -file
=> Да, я могу это сделать, но в нем нет меррита.

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

EDIT => Я до сих пор терпеть неудачу. Это моя история:

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

  1. Я добавил make install -stept
  2. Я передал qmake дополнительный аргумент «CONFIG+=disable-desktop

Казалось, это сработало. Получены новые файлы в указанных каталогах:

  • C:QtQt5.7.05,7mingw53_32QMLQtQuickэкранная клавиатура
  • C:QtQt5.7.05.7mingw53_32QMLQtQuickэкранная клавиатура Styles
  • C:QtQt5.7.05,7mingw53_32Pluginsplatforminputcontexts

Теперь в моем проекте я добавил строку

QT_IM_MODULE=qtvirtualkeyboard myapp

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

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

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

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

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

Лучший ответ:

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

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

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

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

Ответ №1

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

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

Если вам действительно нужен модуль в вашем проекте Git repo, может быть проще просто добавить его в качестве подмодуля и ссылаться на него в подпроекте SUBDIRS ” 3rdparty “.

Оцените статью
Добавить комментарий