Вопрос:
Я пытаюсь интегрировать 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 => Я до сих пор терпеть неудачу. Это моя история:
Я попробовал метод развертывания, следуя инструкциям здесь.
Поскольку я предпочел бы иметь клавиатуру в приложении, я сделал следующее:
- Я добавил make install -stept
- Я передал 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, где я очищу свои собственные заблуждения.
- Загрузите исходный код из git-репозитория
- Откройте проект qtvirtualkeyboard.pro с помощью QtCreator и запустите его с release конфигурации
Он создаст некоторые каталоги и файлы в вашем каталоге Qt-установки. Вам не нужно ничего добавлять в каталог проекта. После того, как вы закончите, и ваше добро для всех проектов. -
Убедитесь, что вы установили QT_IM_MODULE окружения QT_IM_MODULE для включения qtvirtualkeyboard. Моя ошибка заключалась в том, чтобы предположить (я не знаю, почему) это может быть сделано в проектах .pro -file. Это кажется неправильным. Метод С++ выглядит безопасным:
qputenv(«QT_IM_MODULE», QByteArray(«qtvirtualkeyboard»)); -
Если вы хотите иметь клавиатуру в своем приложении, добавьте
CONFIG += disable-desktop для ваших проектов .pro -file -
Повеселись!
Ответ №1
Если вы выберете компонент Qt Virtual Keyboard под определенной версией Qt, вы должны получить готовые двоичные файлы:
Компонент надстройки Qt Enterprise имеет подкомпонент виртуальной клавиатуры (?), Который может дать вам только источники. Не уверен.
Если вам действительно нужен модуль в вашем проекте Git repo, может быть проще просто добавить его в качестве подмодуля и ссылаться на него в подпроекте SUBDIRS ” 3rdparty “.