代码之家  ›  专栏  ›  技术社区  ›  H.Ghassami

为什么在我调用plugin in.pro和主.cpp

  •  0
  • H.Ghassami  · 技术社区  · 6 年前

    我使用开源qt5.9作为嵌入式设备。

    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();
    }
    

    至主.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;
            }
    }
    
    1 回复  |  直到 6 年前
        1
  •  3
  •   H.Ghassami    6 年前


    只需输入每行编辑的类型。这样地:

    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"
    
        }