почему qml virtualkeyboard не отображается после нажатия на кнопку редактирования текста, а я вызываю плагин в .pro и main.cpp

Я использую открытый исходный код qt5.9 для встроенного устройства.
Я хочу использовать виртуальную клавиатуру в своем проекте qml. Я знаю, что я должен добавить статическую ссылку в файл .pro, например:

static {
QT += svg
QTPLUGIN += qtvirtualkeyboardplugin
}

а также добавить

#include <QGuiApplication>
#include <QQmlApplicationEngine>

int main(int argc, char *argv[])
{
qputenv("QT_IM_MODULE", QByteArray("qtvirtualkeyboard"));

QCoreApplication::setAttribute(Qt::AA_EnableHighDpiScaling);
QGuiApplication app(argc, argv);
QQmlApplicationEngine engine;
engine.load(QUrl(QStringLiteral("qrc:/main.qml")));
if (engine.rootObjects().isEmpty())
return -1;
return app.exec();
}

в файл main.cpp для использования виртуальной клавиатуры. но моя виртуальная клавиатура не срабатывает при нажатии на мой текстовый объект:

import QtQuick 2.9
import QtQuick.Window 2.2
import QtQuick.VirtualKeyboard 2.1

Window {
visible: true
width: 640
height: 480

TextInput {
id: textInput;
text:"ssssss"height: 120;
width: parent.width - 2;
anchors.bottom: keyboard.top
color: "#000000"; // black

// http://doc.qt.io/qt-5/qinputmethod.html#properties
focus: Qt.inputMethod.visible;

verticalAlignment: TextInput.AlignVCenter;
}
}

0

Решение

Это решено.
просто введите вид ввода для каждого lineedit. как это :

InputPanel{
id:inputpanel
visible:active
y:active?parent.height - inputpanel.height : parent.height
anchors.left: parent.left
anchors.right: parent.right

}
TextInput{
id:input
inputMethodHints: Qt.ImhDigitsOnly
focus: Qt.inputMethod.visible;
text: "123211"
}
TextInput{
id:input2
anchors.top:input.bottom
inputMethodHints: Qt.ImhLowercaseOnly
focus: Qt.inputMethod.visible;
text: "123211"
}
0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]