Как использовать 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.
РЕДАКТИРОВАТЬ => Я все еще не могу. Это моя история:
Я попробовал метод развертывания, следуя инструкциям здесь.
Поскольку я предпочел бы иметь клавиатуру в приложении, я сделал следующее:
- Я добавил
make install
-stept - Я прошел
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 ответа
Хорошо, я наконец преуспел. Хотя это действительно очень близко к документации, я не думаю, что документацию легко понять. Поэтому я опубликую это пошаговое руководство, где я проясню свои заблуждения.
- Загрузите исходный код из git-репозитория
- Откройте проект qtvirtualkeyboard.pro с помощью QtCreator и запустите его с конфигурацией
release
Он создаст несколько каталогов и файлов в вашем каталоге установки Qt. Вам не нужно ничего добавлять в каталог вашего проекта. После того, как все готово и ваше благо для всех проектов впереди. Убедитесь, что вы установили
QT_IM_MODULE
переменная среды для включенияqtvirtualkeyboard
, Моя ошибка заключалась в том, чтобы предположить (я не знаю почему), что это может быть сделано в проектах.pro
-файл. Это кажется неправильным. Метод C++ кажется безопасным:qputenv("QT_IM_MODULE", QByteArray("qtvirtualkeyboard"));
Если вы хотите, чтобы в вашем приложении была клавиатура, добавьте
CONFIG += disable-desktop
к вашим проектам.pro
-файлПовеселись!
Если вы выберете компонент Qt Virtual Keyboard под определенной версией Qt, вы должны получить предварительно скомпилированные двоичные файлы:
Компонент дополнений Qt Enterprise имеет подкомпонент виртуальной клавиатуры (?), Который может дать вам только источники... не уверен.
Если вам действительно необходимо иметь модуль в репозитории Git вашего проекта, может быть проще просто добавить его в качестве подмодуля и сослаться на него в подпроекте " Thirdparty " SUBDIRS.