Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • Users
  • Groups
  • Search
  • Get Qt Extensions
  • Unsolved
Collapse
Brand Logo
  1. Home
  2. Qt Development
  3. Mobile and Embedded
  4. qtvirtualkeyboard Chinese word candidate list on embedded linux
Forum Updated to NodeBB v4.3 + New Features

qtvirtualkeyboard Chinese word candidate list on embedded linux

Scheduled Pinned Locked Moved Unsolved Mobile and Embedded
7 Posts 2 Posters 2.0k Views 2 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • W Offline
    W Offline
    william6849
    wrote on last edited by william6849
    #1

    Hello,

    I have been ported QT 5.11.3 to my own embedded linux platform, based on ARM v7a chip.

    This is running on windowns7 created by QTCreator 4.9.2 , with QT 5.11.3.
    I can select the word what i need from upside candidate list.
    alt text

    But when I compile and run it on my embedded system, select bar won't appear after i typed the spell.
    alt text

    this is my code:

    • .pro
    QT += quick qml
    
    CONFIG += c++11
    
    
    
    QTPLUGIN+=qtvirtualkeyboardplugin
    
    
    QT+=svg
    
    QT_IM_MODULE=qtvirtualkeyboard myapp
    
    
    # The following define makes your compiler emit warnings if you use
    
    # any Qt feature that has been marked deprecated (the exact warnings
    
    # depend on your compiler). Refer to the documentation for the
    
    # deprecated API to know how to port your code away from it.
    
    DEFINES += QT_DEPRECATED_WARNINGS
    
    
    
    # You can also make your code fail to compile if it uses deprecated APIs.
    
    # In order to do so, uncomment the following line.
    
    # You can also select to disable deprecated APIs only up to a certain version of Qt.
    
    #DEFINES += QT_DISABLE_DEPRECATED_BEFORE=0x060000    # disables all the APIs deprecated before Qt 6.0.0
    
    
    
    SOURCES += \
    
            main.cpp
    
    
    
    RESOURCES += qml.qrc
    
    
    
    # Additional import path used to resolve QML modules in Qt Creator's code model
    
    QML_IMPORT_PATH =
    
    
    
    # Additional import path used to resolve QML modules just for Qt Quick Designer
    
    QML_DESIGNER_IMPORT_PATH =
    
    
    
    # Default rules for deployment.
    
    qnx: target.path = /tmp/$${TARGET}/bin
    
    else: unix:!android: target.path = /opt/$${TARGET}/bin
    
    !isEmpty(target.path): INSTALLS += target
    
    • main.cpp
    #include <QGuiApplication>
    #include <QQmlApplicationEngine>
    #include <QFont>
    
    int main(int argc, char *argv[])
    
    {
        QFont font; 
        font.setPointSize(10);
        font.setFamily("MSJH"); 
    
        qputenv("QT_IM_MODULE", QByteArray("qtvirtualkeyboard"));
        QCoreApplication::setAttribute(Qt::AA_EnableHighDpiScaling);
    
        QGuiApplication app(argc, argv);
    
        app.setFont(font);
    
        QQmlApplicationEngine engine;
    
        const QUrl url(QStringLiteral("qrc:/main.qml"));
    
        QObject::connect(&engine, &QQmlApplicationEngine::objectCreated,
    
                         &app, [url](QObject *obj, const QUrl &objUrl) {
    
            if (!obj && url == objUrl)
    
                QCoreApplication::exit(-1);
    
        }, Qt::QueuedConnection);
    
        engine.load(url);
    
    
    
        return app.exec();
    
    }
    
    • main.qml
    import QtQuick 2.10
    import QtQuick.Window 2.10
    import QtQuick.Controls 2.2
    import QtQuick.VirtualKeyboard 2.3
    
    Window {
        width:1024
        height: 600
        id:root
        visible:true
        Rectangle{
            anchors.fill:parent
        }
        TextField{
            id:key
            anchors.top: parent.top
            anchors.horizontalCenter: parent.horizontalCenter
    	anchors.bottom: InputPanel.top
            focus:true
        }
        InputPanel{
            id:vkb
            visible:true
            active:true
            anchors.fill:parent
        	anchors.left: parent.left
            anchors.right: parent.right
        }
    }
    
    • configuration when cross compile QT5.11.3
    ./configure 
    -release 
    -sysroot /home/admin/Desktop/file_partition/sysroot 
    -prefix /release -extprefix /home/admin/Desktop/file_partition/release_11_3 
    -opensource
    -make libs 
    -xplatform linux-arm-gnueabi-g++ 
    -no-pch -qt-libjpeg 
    -no-opengl 
    -skip qt3d 
    -skip qtcanvas3d 
    -skip qtpurchasing
    -no-sse2 -no-openssl 
    -no-iconv 
    -nomake examples 
    -skip qtserialbus 
    -evdev
    -I/home/admin/Desktop/qtsource/corssbin/ts_release/include 
    -L/home/admin/Desktop/qtsource/corssbin/ts_release/lib 
    -make libs
    
    • included parts
    Building on: linux-g++ (x86_64, CPU features: mmx sse sse2)
    Building for: linux-arm-gnueabi-g++ (arm, CPU features: <none>)
    Configuration: cross_compile compile_examples enable_new_dtags largefile shared rpath release c++11 c++14 concurrent dbus reduce_exports stl
    Build options:
      Mode ................................... release
      Optimize release build for size ........ no
      Building shared libraries .............. yes
      Using C++ standard ..................... C++14
      Using ccache ........................... no
      Using gold linker ...................... no
      Using new DTAGS ........................ yes
      Using precompiled headers .............. no
      Using LTCG ............................. no
      Target compiler supports:
        NEON ................................. no
      Build parts ............................ libs libs
    Qt modules and options:
      Qt Concurrent .......................... yes
      Qt D-Bus ............................... yes
      Qt D-Bus directly linked to libdbus .... yes
      Qt Gui ................................. yes
      Qt Network ............................. yes
      Qt Sql ................................. yes
      Qt Testlib ............................. yes
      Qt Widgets ............................. yes
      Qt Xml ................................. yes
    Support enabled for:
      Using pkg-config ....................... yes
      udev ................................... yes
      Using system zlib ...................... yes
    Qt Core:
      DoubleConversion ....................... yes
        Using system DoubleConversion ........ no
      GLib ................................... yes
      iconv .................................. no
      ICU .................................... yes
      Tracing backend ........................ <none>
      Logging backends:
        journald ............................. no
        syslog ............................... no
        slog2 ................................ no
      Using system PCRE2 ..................... no
    Qt Network:
      getifaddrs() ........................... yes
      IPv6 ifname ............................ yes
      libproxy ............................... no
      Linux AF_NETLINK ....................... no
      OpenSSL ................................ no
        Qt directly linked to OpenSSL ........ no
      OpenSSL 1.1 ............................ no
      SCTP ................................... no
      Use system proxies ..................... yes
    Qt Gui:
      Accessibility .......................... yes
      FreeType ............................... yes
        Using system FreeType ................ yes
      HarfBuzz ............................... yes
        Using system HarfBuzz ................ no
      Fontconfig ............................. yes
      Image formats:
        GIF .................................. yes
        ICO .................................. yes
        JPEG ................................. yes
          Using system libjpeg ............... no
        PNG .................................. yes
          Using system libpng ................ yes
      EGL .................................... no
      OpenVG ................................. no
      OpenGL:
        Desktop OpenGL ....................... no
        OpenGL ES 2.0 ........................ no
        OpenGL ES 3.0 ........................ no
        OpenGL ES 3.1 ........................ no
        OpenGL ES 3.2 ........................ no
      Vulkan ................................. no
      Session Management ..................... yes
    Features used by QPA backends:
      evdev .................................. yes
      libinput ............................... no
      INTEGRITY HID .......................... no
      mtdev .................................. no
      tslib .................................. yes
      xkbcommon-evdev ........................ no
    QPA backends:
      DirectFB ............................... no
      EGLFS .................................. no
      LinuxFB ................................ yes
      VNC .................................... yes
      Mir client ............................. no
    Qt Widgets:
      GTK+ ................................... no
      Styles ................................. Fusion Windows
    Qt PrintSupport:
      CUPS ................................... no
    Qt Sql:
      DB2 (IBM) .............................. no
      InterBase .............................. no
      MySql .................................. no
      OCI (Oracle) ........................... no
      ODBC ................................... no
      PostgreSQL ............................. no
      SQLite2 ................................ no
      SQLite ................................. yes
        Using system provided SQLite ......... no
      TDS (Sybase) ........................... no
    Qt Testlib:
      Tester for item models ................. yes
    QtXmlPatterns:
      XML schema support ..................... yes
    Qt QML:
      QML network support .................... yes
      QML debugging and profiling support .... yes
      QML delegate model ..................... yes
    Qt Quick:
      Direct3D 12 ............................ no
      AnimatedImage item ..................... yes
      Canvas item ............................ yes
      Support for Qt Quick Designer .......... yes
      Flipable item .......................... yes
      GridView item .......................... yes
      ListView item .......................... yes
      Path support ........................... yes
      PathView item .......................... yes
      Positioner items ....................... yes
      Repeater item .......................... yes
      ShaderEffect item ...................... yes
      Sprite item ............................ yes
    Qt Gamepad:
      SDL2 ................................... no
    Qt Wayland Client ........................ no
    Qt Wayland Compositor .................... no
    Qt Bluetooth:
      BlueZ .................................. yes
      BlueZ Low Energy ....................... yes
      Linux Crypto API ....................... yes
      WinRT Bluetooth API (desktop & UWP) .... no
    Qt Sensors:
      sensorfw ............................... no
    Qt Quick Controls 2:
      Styles ................................. Default Fusion Imagine Material Universal
    Qt Quick Templates 2:
      Hover support .......................... yes
      Multi-touch support .................... yes
    Qt Positioning:
      Gypsy GPS Daemon ....................... no
      WinRT Geolocation API .................. no
    Qt Location:
      Qt.labs.location experimental QML plugin . yes
      Geoservice plugins:
        OpenStreetMap ........................ yes
        HERE ................................. yes
        Esri ................................. yes
        Mapbox ............................... yes
        MapboxGL ............................. no
        Itemsoverlay ......................... yes
    Qt Multimedia:
      ALSA ................................... yes
      GStreamer 1.0 .......................... no
      GStreamer 0.10 ......................... yes
      Video for Linux ........................ yes
      OpenAL ................................. no
      PulseAudio ............................. no
      Resource Policy (libresourceqt5) ....... no
      Windows Audio Services ................. no
      DirectShow ............................. no
      Windows Media Foundation ............... no
    Qt WebEngine:
      Embedded build ......................... yes
      Pepper Plugins ......................... no
      Printing and PDF ....................... no
      Proprietary Codecs ..................... no
      Spellchecker ........................... yes
      Native Spellchecker .................... no
      WebRTC ................................. no
      Use System Ninja ....................... no
      Geolocation ............................ yes
      Use v8 snapshot ........................ yes
      Building v8 snapshot supported ......... no
      Use ALSA ............................... yes
      Use PulseAudio ......................... no
      Optional system libraries used:
        re2 .................................. no
        icu .................................. no
        libwebp, libwebpmux and libwebpdemux . no
        opus ................................. no
        ffmpeg ............................... no
        libvpx ............................... no
        snappy ............................... no
        libsrtp .............................. no
        glib ................................. yes
        zlib ................................. yes
        minizip .............................. no
        libevent ............................. no
        jsoncpp .............................. no
        protobuf ............................. no
        libxml2 and libxslt .................. no
        lcms2 ................................ no
        png .................................. yes
        JPEG ................................. no
        harfbuzz ............................. no
        freetype ............................. yes
      Required system libraries:
        fontconfig ........................... yes
        dbus ................................. yes
        nss .................................. no
        khr .................................. no
        glibc ................................ yes
      Required system libraries for qpa-xcb:
        libdrm ............................... no
        xcomposite ........................... no
        xcursor .............................. no
        xi ................................... no
        xrandr ............................... no
        xtst ................................. no
    
    
    • platform environment before executing programe.
    
    export LD_LIBRARY_PATH='/emmc/ts_lib/lib:/emmc/qt_dir/lib:/emmc/qt_dir/plugins/platforms:/lib:/usr/lib:/usr/local/lib'
    export PATH='/usr/bin:/bin:/usr/sbin:/sbin:/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin'
    
    export QT_ROOT='/emmc/qt_dir'
    export QML2_IMPORT_PATH='/emmc/qt_dir/qml'
    export QML_IMPORT_PATH='/emmc/qt_dir/qml'
    export QT_DEBUG_PLUGINS='1'
    export QT_IM_MODULE='qtvirtualkeyboard'
    export QT_PLUGIN_PATH='/emmc/qt_dir/plugins'
    
    export QT_QPA_FB_DRM='2'
    export QT_QPA_FB_TSLIB='1'
    export QT_QPA_FONTDIR='/emmc/qt_dir/lib/fonts'
    export QT_QPA_GENERIC_PLUGINS='tslib'
    export QT_QPA_PLATFORM='linuxfb:fb=/dev/fb0'
    export QT_QPA_PLATFORM_PLUGIN_PATH='/emmc/qt_dir/plugins/platforms'
    
    export QT_VIRTUALKEYBOARD_PINYIN_DICTIONARY='/emmc/qt_dir/qtvirtualkeyboard/pinyin/dict_pinyin.dat'
    export QT_VIRTUALKEYBOARD_ZHUYIN_DICTIONARY='/emmc/qt_dir/qtvirtualkeyboard/tcime/dict_zhuyin.dat'
    export TSLIB_CONFFILE='/emmc/ts_lib/etc/ts.conf'
    export TSLIB_CONSOLEDEVICE='none'
    export TSLIB_FBDEVICE='/dev/fb0'
    export TSLIB_PLUGINDIR='/emmc/ts_lib/lib/ts'
    export TSLIB_ROOT='/emmc/ts_lib'
    export TSLIB_TSDEVICE='/dev/input/event2'
    

    checked DICTIONARY file ,it's exist.

    • debug information
    QFactoryLoader::QFactoryLoader() checking directory path "/emmc/qt_dir/plugins/platforms" ...
    QFactoryLoader::QFactoryLoader() looking at "/emmc/qt_dir/plugins/platforms/libqlinuxfb.so"
    Found metadata in lib /emmc/qt_dir/plugins/platforms/libqlinuxfb.so, metadata=
    {
        "IID": "org.qt-project.Qt.QPA.QPlatformIntegrationFactoryInterface.5.3",
        "MetaData": {
            "Keys": [
                "linuxfb"
            ]
        },
        "className": "QLinuxFbIntegrationPlugin",
        "debug": false,
        "version": 330499
    }
    
    
    Got keys from plugin meta data ("linuxfb")
    QFactoryLoader::QFactoryLoader() looking at "/emmc/qt_dir/plugins/platforms/libqminimal.so"
    Found metadata in lib /emmc/qt_dir/plugins/platforms/libqminimal.so, metadata=
    {
        "IID": "org.qt-project.Qt.QPA.QPlatformIntegrationFactoryInterface.5.3",
        "MetaData": {
            "Keys": [
                "minimal"
            ]
        },
        "className": "QMinimalIntegrationPlugin",
        "debug": false,
        "version": 330499
    }
    
    
    Got keys from plugin meta data ("minimal")
    QFactoryLoader::QFactoryLoader() looking at "/emmc/qt_dir/plugins/platforms/libqoffscreen.so"
    Found metadata in lib /emmc/qt_dir/plugins/platforms/libqoffscreen.so, metadata=
    {
        "IID": "org.qt-project.Qt.QPA.QPlatformIntegrationFactoryInterface.5.3",
        "MetaData": {
            "Keys": [
                "offscreen"
            ]
        },
        "className": "QOffscreenIntegrationPlugin",
        "debug": false,
        "version": 330499
    }
    
    
    Got keys from plugin meta data ("offscreen")
    QFactoryLoader::QFactoryLoader() looking at "/emmc/qt_dir/plugins/platforms/libqvnc.so"
    Found metadata in lib /emmc/qt_dir/plugins/platforms/libqvnc.so, metadata=
    {
        "IID": "org.qt-project.Qt.QPA.QPlatformIntegrationFactoryInterface.5.3",
        "MetaData": {
            "Keys": [
                "vnc"
            ]
        },
        "className": "QVncIntegrationPlugin",
        "debug": false,
        "version": 330499
    }
    
    
    Got keys from plugin meta data ("vnc")
    QFactoryLoader::QFactoryLoader() checking directory path "/emmc/qt_dir/plugins" ...
    QFactoryLoader::QFactoryLoader() checking directory path "/root/qts" ...
    QFactoryLoader::QFactoryLoader() checking directory path "/emmc/qt_dir/plugins/platforms/platforms" ...
    QFactoryLoader::QFactoryLoader() checking directory path "/emmc/qt_dir/plugins/platforms" ...
    QFactoryLoader::QFactoryLoader() looking at "/emmc/qt_dir/plugins/platforms/libqlinuxfb.so"
    Got keys from plugin meta data ("linuxfb")
    QFactoryLoader::QFactoryLoader() looking at "/emmc/qt_dir/plugins/platforms/libqminimal.so"
    Got keys from plugin meta data ("minimal")
    QFactoryLoader::QFactoryLoader() looking at "/emmc/qt_dir/plugins/platforms/libqoffscreen.so"
    Got keys from plugin meta data ("offscreen")
    QFactoryLoader::QFactoryLoader() looking at "/emmc/qt_dir/plugins/platforms/libqvnc.so"
    Got keys from plugin meta data ("vnc")
    QFactoryLoader::QFactoryLoader() checking directory path "/root/qts/platforms" ...
    loaded library "/emmc/qt_dir/plugins/platforms/libqlinuxfb.so"
    QStandardPaths: XDG_RUNTIME_DIR not set, defaulting to '/tmp/runtime-root'
    QFactoryLoader::QFactoryLoader() checking directory path "/emmc/qt_dir/plugins/platforms/platforminputcontexts" ...
    QFactoryLoader::QFactoryLoader() checking directory path "/emmc/qt_dir/plugins/platforminputcontexts" ...
    QFactoryLoader::QFactoryLoader() looking at "/emmc/qt_dir/plugins/platforminputcontexts/libibusplatforminputcontextplugin.so"
    Found metadata in lib /emmc/qt_dir/plugins/platforminputcontexts/libibusplatforminputcontextplugin.so, metadata=
    {
        "IID": "org.qt-project.Qt.QPlatformInputContextFactoryInterface.5.1",
        "MetaData": {
            "Keys": [
                "ibus"
            ]
        },
        "className": "QIbusPlatformInputContextPlugin",
        "debug": false,
        "version": 330499
    }
    
    
    Got keys from plugin meta data ("ibus")
    QFactoryLoader::QFactoryLoader() looking at "/emmc/qt_dir/plugins/platforminputcontexts/libqtvirtualkeyboardplugin.so"
    Found metadata in lib /emmc/qt_dir/plugins/platforminputcontexts/libqtvirtualkeyboardplugin.so, metadata=
    {
        "IID": "org.qt-project.Qt.QPlatformInputContextFactoryInterface.5.1",
        "MetaData": {
            "Keys": [
                "qtvirtualkeyboard"
            ]
        },
        "className": "QVirtualKeyboardPlugin",
        "debug": false,
        "version": 330499
    }
    
    
    Got keys from plugin meta data ("qtvirtualkeyboard")
    QFactoryLoader::QFactoryLoader() checking directory path "/root/qts/platforminputcontexts" ...
    loaded library "/emmc/qt_dir/plugins/platforminputcontexts/libqtvirtualkeyboardplugin.so"
    QFactoryLoader::QFactoryLoader() checking directory path "/emmc/qt_dir/plugins/platforms/generic" ...
    QFactoryLoader::QFactoryLoader() checking directory path "/emmc/qt_dir/plugins/generic" ...
    QFactoryLoader::QFactoryLoader() looking at "/emmc/qt_dir/plugins/generic/libqevdevkeyboardplugin.so"
    Found metadata in lib /emmc/qt_dir/plugins/generic/libqevdevkeyboardplugin.so, metadata=
    {
        "IID": "org.qt-project.Qt.QGenericPluginFactoryInterface",
        "MetaData": {
            "Keys": [
                "EvdevKeyboard"
            ]
        },
        "className": "QEvdevKeyboardPlugin",
        "debug": false,
        "version": 330499
    }
    
    
    Got keys from plugin meta data ("evdevkeyboard")
    QFactoryLoader::QFactoryLoader() looking at "/emmc/qt_dir/plugins/generic/libqevdevmouseplugin.so"
    Found metadata in lib /emmc/qt_dir/plugins/generic/libqevdevmouseplugin.so, metadata=
    {
        "IID": "org.qt-project.Qt.QGenericPluginFactoryInterface",
        "MetaData": {
            "Keys": [
                "EvdevMouse"
            ]
        },
        "className": "QEvdevMousePlugin",
        "debug": false,
        "version": 330499
    }
    
    
    Got keys from plugin meta data ("evdevmouse")
    QFactoryLoader::QFactoryLoader() looking at "/emmc/qt_dir/plugins/generic/libqevdevtabletplugin.so"
    Found metadata in lib /emmc/qt_dir/plugins/generic/libqevdevtabletplugin.so, metadata=
    {
        "IID": "org.qt-project.Qt.QGenericPluginFactoryInterface",
        "MetaData": {
            "Keys": [
                "EvdevTablet"
            ]
        },
        "className": "QEvdevTabletPlugin",
        "debug": false,
        "version": 330499
    }
    
    
    Got keys from plugin meta data ("evdevtablet")
    QFactoryLoader::QFactoryLoader() looking at "/emmc/qt_dir/plugins/generic/libqevdevtouchplugin.so"
    Found metadata in lib /emmc/qt_dir/plugins/generic/libqevdevtouchplugin.so, metadata=
    {
        "IID": "org.qt-project.Qt.QGenericPluginFactoryInterface",
        "MetaData": {
            "Keys": [
                "EvdevTouch"
            ]
        },
        "className": "QEvdevTouchScreenPlugin",
        "debug": false,
        "version": 330499
    }
    
    
    Got keys from plugin meta data ("evdevtouch")
    QFactoryLoader::QFactoryLoader() looking at "/emmc/qt_dir/plugins/generic/libqtslibplugin.so"
    Found metadata in lib /emmc/qt_dir/plugins/generic/libqtslibplugin.so, metadata=
    {
        "IID": "org.qt-project.Qt.QGenericPluginFactoryInterface",
        "MetaData": {
            "Keys": [
                "Tslib",
                "TslibRaw"
            ]
        },
        "className": "QTsLibPlugin",
        "debug": false,
        "version": 330499
    }
    
    
    Got keys from plugin meta data ("tslib", "tslibraw")
    QFactoryLoader::QFactoryLoader() looking at "/emmc/qt_dir/plugins/generic/libqtuiotouchplugin.so"
    Found metadata in lib /emmc/qt_dir/plugins/generic/libqtuiotouchplugin.so, metadata=
    {
        "IID": "org.qt-project.Qt.QGenericPluginFactoryInterface",
        "MetaData": {
            "Keys": [
                "TuioTouch"
            ]
        },
        "className": "QTuioTouchPlugin",
        "debug": false,
        "version": 330499
    }
    
    
    Got keys from plugin meta data ("tuiotouch")
    QFactoryLoader::QFactoryLoader() checking directory path "/root/qts/generic" ...
    loaded library "/emmc/qt_dir/plugins/generic/libqtslibplugin.so"
    Found metadata in lib /emmc/qt_dir/qml/QtQuick.2/libqtquick2plugin.so, metadata=
    {
        "IID": "org.qt-project.Qt.QQmlExtensionInterface/1.0",
        "MetaData": {
        },
        "className": "QtQuick2Plugin",
        "debug": false,
        "uri": [
            "QtQuick.2"
        ],
        "version": 330499
    }
    
    
    loaded library "/emmc/qt_dir/qml/QtQuick.2/libqtquick2plugin.so"
    Found metadata in lib /emmc/qt_dir/qml/QtQuick/Window.2/libwindowplugin.so, metadata=
    {
        "IID": "org.qt-project.Qt.QQmlExtensionInterface/1.0",
        "MetaData": {
        },
        "className": "QtQuick2WindowPlugin",
        "debug": false,
        "uri": [
            "QtQuick.Window.2"
        ],
        "version": 330499
    }
    
    
    loaded library "/emmc/qt_dir/qml/QtQuick/Window.2/libwindowplugin.so"
    Found metadata in lib /emmc/qt_dir/qml/QtQuick/Controls.2/libqtquickcontrols2plugin.so, metadata=
    {
        "IID": "org.qt-project.Qt.QQmlExtensionInterface/1.0",
        "MetaData": {
        },
        "className": "QtQuickControls2Plugin",
        "debug": false,
        "uri": [
            "QtQuick.Controls.2"
        ],
        "version": 330499
    }
    
    
    loaded library "/emmc/qt_dir/qml/QtQuick/Controls.2/libqtquickcontrols2plugin.so"
    Found metadata in lib /emmc/qt_dir/qml/QtQuick/Templates.2/libqtquicktemplates2plugin.so, metadata=
    {
        "IID": "org.qt-project.Qt.QQmlExtensionInterface/1.0",
        "MetaData": {
        },
        "className": "QtQuickTemplates2Plugin",
        "debug": false,
        "uri": [
            "QtQuick.Templates.2"
        ],
        "version": 330499
    }
    
    
    loaded library "/emmc/qt_dir/qml/QtQuick/Templates.2/libqtquicktemplates2plugin.so"
    Found metadata in lib /emmc/qt_dir/qml/QtQuick/Layouts/libqquicklayoutsplugin.so, metadata=
    {
        "IID": "org.qt-project.Qt.QQmlExtensionInterface/1.0",
        "MetaData": {
        },
        "className": "QtQuickLayoutsPlugin",
        "debug": false,
        "uri": [
            "QtQuick.Layouts"
        ],
        "version": 330499
    }
    
    
    loaded library "/emmc/qt_dir/qml/QtQuick/Layouts/libqquicklayoutsplugin.so"
    Found metadata in lib /emmc/qt_dir/qml/QtQuick/VirtualKeyboard/Styles/libqtvirtualkeyboardstylesplugin.so, metadata=
    {
        "IID": "org.qt-project.Qt.QQmlExtensionInterface/1.0",
        "MetaData": {
        },
        "className": "QtVirtualKeyboardStylesPlugin",
        "debug": false,
        "uri": [
            "QtQuick.VirtualKeyboard.Styles"
        ],
        "version": 330499
    }
    
    
    loaded library "/emmc/qt_dir/qml/QtQuick/VirtualKeyboard/Styles/libqtvirtualkeyboardstylesplugin.so"
    Found metadata in lib /emmc/qt_dir/qml/Qt/labs/folderlistmodel/libqmlfolderlistmodelplugin.so, metadata=
    {
        "IID": "org.qt-project.Qt.QQmlExtensionInterface/1.0",
        "MetaData": {
        },
        "className": "QmlFolderListModelPlugin",
        "debug": false,
        "uri": [
            "Qt.labs.folderlistmodel"
        ],
        "version": 330499
    }
    
    
    loaded library "/emmc/qt_dir/qml/Qt/labs/folderlistmodel/libqmlfolderlistmodelplugin.so"
    QFactoryLoader::QFactoryLoader() checking directory path "/emmc/qt_dir/plugins/platforms/imageformats" ...
    QFactoryLoader::QFactoryLoader() checking directory path "/emmc/qt_dir/plugins/imageformats" ...
    QFactoryLoader::QFactoryLoader() looking at "/emmc/qt_dir/plugins/imageformats/libqgif.so"
    Found metadata in lib /emmc/qt_dir/plugins/imageformats/libqgif.so, metadata=
    {
        "IID": "org.qt-project.Qt.QImageIOHandlerFactoryInterface",
        "MetaData": {
            "Keys": [
                "gif"
            ],
            "MimeTypes": [
                "image/gif"
            ]
        },
        "className": "QGifPlugin",
        "debug": false,
        "version": 330499
    }
    
    
    Got keys from plugin meta data ("gif")
    QFactoryLoader::QFactoryLoader() looking at "/emmc/qt_dir/plugins/imageformats/libqicns.so"
    Found metadata in lib /emmc/qt_dir/plugins/imageformats/libqicns.so, metadata=
    {
        "IID": "org.qt-project.Qt.QImageIOHandlerFactoryInterface",
        "MetaData": {
            "Keys": [
                "icns"
            ],
            "MimeTypes": [
                "image/x-icns"
            ]
        },
        "className": "QICNSPlugin",
        "debug": false,
        "version": 330499
    }
    
    
    Got keys from plugin meta data ("icns")
    QFactoryLoader::QFactoryLoader() looking at "/emmc/qt_dir/plugins/imageformats/libqico.so"
    Found metadata in lib /emmc/qt_dir/plugins/imageformats/libqico.so, metadata=
    {
        "IID": "org.qt-project.Qt.QImageIOHandlerFactoryInterface",
        "MetaData": {
            "Keys": [
                "ico",
                "cur"
            ],
            "MimeTypes": [
                "image/vnd.microsoft.icon",
                "image/vnd.microsoft.icon"
            ]
        },
        "className": "QICOPlugin",
        "debug": false,
        "version": 330499
    }
    
    
    Got keys from plugin meta data ("ico", "cur")
    QFactoryLoader::QFactoryLoader() looking at "/emmc/qt_dir/plugins/imageformats/libqjpeg.so"
    Found metadata in lib /emmc/qt_dir/plugins/imageformats/libqjpeg.so, metadata=
    {
        "IID": "org.qt-project.Qt.QImageIOHandlerFactoryInterface",
        "MetaData": {
            "Keys": [
                "jpg",
                "jpeg"
            ],
            "MimeTypes": [
                "image/jpeg",
                "image/jpeg"
            ]
        },
        "className": "QJpegPlugin",
        "debug": false,
        "version": 330499
    }
    
    
    Got keys from plugin meta data ("jpg", "jpeg")
    QFactoryLoader::QFactoryLoader() looking at "/emmc/qt_dir/plugins/imageformats/libqsvg.so"
    Found metadata in lib /emmc/qt_dir/plugins/imageformats/libqsvg.so, metadata=
    {
        "IID": "org.qt-project.Qt.QImageIOHandlerFactoryInterface",
        "MetaData": {
            "Keys": [
                "svg",
                "svgz"
            ],
            "MimeTypes": [
                "image/svg+xml",
                "image/svg+xml-compressed"
            ]
        },
        "className": "QSvgPlugin",
        "debug": false,
        "version": 330499
    }
    
    
    Got keys from plugin meta data ("svg", "svgz")
    QFactoryLoader::QFactoryLoader() looking at "/emmc/qt_dir/plugins/imageformats/libqtga.so"
    Found metadata in lib /emmc/qt_dir/plugins/imageformats/libqtga.so, metadata=
    {
        "IID": "org.qt-project.Qt.QImageIOHandlerFactoryInterface",
        "MetaData": {
            "Keys": [
                "tga"
            ],
            "MimeTypes": [
                "image/x-tga"
            ]
        },
        "className": "QTgaPlugin",
        "debug": false,
        "version": 330499
    }
    
    
    Got keys from plugin meta data ("tga")
    QFactoryLoader::QFactoryLoader() looking at "/emmc/qt_dir/plugins/imageformats/libqtiff.so"
    Found metadata in lib /emmc/qt_dir/plugins/imageformats/libqtiff.so, metadata=
    {
        "IID": "org.qt-project.Qt.QImageIOHandlerFactoryInterface",
        "MetaData": {
            "Keys": [
                "tiff",
                "tif"
            ],
            "MimeTypes": [
                "image/tiff",
                "image/tiff"
            ]
        },
        "className": "QTiffPlugin",
        "debug": false,
        "version": 330499
    }
    
    
    Got keys from plugin meta data ("tiff", "tif")
    QFactoryLoader::QFactoryLoader() looking at "/emmc/qt_dir/plugins/imageformats/libqwbmp.so"
    Found metadata in lib /emmc/qt_dir/plugins/imageformats/libqwbmp.so, metadata=
    {
        "IID": "org.qt-project.Qt.QImageIOHandlerFactoryInterface",
        "MetaData": {
            "Keys": [
                "wbmp"
            ],
            "MimeTypes": [
                "image/vnd.wap.wbmp"
            ]
        },
        "className": "QWbmpPlugin",
        "debug": false,
        "version": 330499
    }
    
    
    Got keys from plugin meta data ("wbmp")
    QFactoryLoader::QFactoryLoader() looking at "/emmc/qt_dir/plugins/imageformats/libqwebp.so"
    Found metadata in lib /emmc/qt_dir/plugins/imageformats/libqwebp.so, metadata=
    {
        "IID": "org.qt-project.Qt.QImageIOHandlerFactoryInterface",
        "MetaData": {
            "Keys": [
                "webp"
            ],
            "MimeTypes": [
                "image/webp"
            ]
        },
        "className": "QWebpPlugin",
        "debug": false,
        "version": 330499
    }
    
    
    Got keys from plugin meta data ("webp")
    QFactoryLoader::QFactoryLoader() checking directory path "/root/qts/imageformats" ...
    loaded library "/emmc/qt_dir/plugins/imageformats/libqgif.so"
    loaded library "/emmc/qt_dir/plugins/imageformats/libqicns.so"
    loaded library "/emmc/qt_dir/plugins/imageformats/libqico.so"
    loaded library "/emmc/qt_dir/plugins/imageformats/libqjpeg.so"
    loaded library "/emmc/qt_dir/plugins/imageformats/libqsvg.so"
    loaded library "/emmc/qt_dir/plugins/imageformats/libqtga.so"
    Cannot load library /emmc/qt_dir/plugins/imageformats/libqtiff.so: (libtiff.so.5: cannot open shared object file: No such file or directory)
    QLibraryPrivate::loadPlugin failed on "/emmc/qt_dir/plugins/imageformats/libqtiff.so" : "Cannot load library /emmc/qt_dir/plugins/imageformats/libqtiff.so: (libtiff.so.5: cannot open shared object file: No such file or directory)"
    loaded library "/emmc/qt_dir/plugins/imageformats/libqwbmp.so"
    loaded library "/emmc/qt_dir/plugins/imageformats/libqwebp.so"
    QFactoryLoader::QFactoryLoader() checking directory path "/emmc/qt_dir/plugins/platforms/accessiblebridge" ...
    QFactoryLoader::QFactoryLoader() checking directory path "/emmc/qt_dir/plugins/accessiblebridge" ...
    QFactoryLoader::QFactoryLoader() checking directory path "/root/qts/accessiblebridge" ...
    QFactoryLoader::QFactoryLoader() checking directory path "/emmc/qt_dir/plugins/platforms/accessible" ...
    QFactoryLoader::QFactoryLoader() checking directory path "/emmc/qt_dir/plugins/accessible" ...
    QFactoryLoader::QFactoryLoader() checking directory path "/root/qts/accessible" ...
    
    W 1 Reply Last reply
    0
    • W william6849

      Hello,

      I have been ported QT 5.11.3 to my own embedded linux platform, based on ARM v7a chip.

      This is running on windowns7 created by QTCreator 4.9.2 , with QT 5.11.3.
      I can select the word what i need from upside candidate list.
      alt text

      But when I compile and run it on my embedded system, select bar won't appear after i typed the spell.
      alt text

      this is my code:

      • .pro
      QT += quick qml
      
      CONFIG += c++11
      
      
      
      QTPLUGIN+=qtvirtualkeyboardplugin
      
      
      QT+=svg
      
      QT_IM_MODULE=qtvirtualkeyboard myapp
      
      
      # The following define makes your compiler emit warnings if you use
      
      # any Qt feature that has been marked deprecated (the exact warnings
      
      # depend on your compiler). Refer to the documentation for the
      
      # deprecated API to know how to port your code away from it.
      
      DEFINES += QT_DEPRECATED_WARNINGS
      
      
      
      # You can also make your code fail to compile if it uses deprecated APIs.
      
      # In order to do so, uncomment the following line.
      
      # You can also select to disable deprecated APIs only up to a certain version of Qt.
      
      #DEFINES += QT_DISABLE_DEPRECATED_BEFORE=0x060000    # disables all the APIs deprecated before Qt 6.0.0
      
      
      
      SOURCES += \
      
              main.cpp
      
      
      
      RESOURCES += qml.qrc
      
      
      
      # Additional import path used to resolve QML modules in Qt Creator's code model
      
      QML_IMPORT_PATH =
      
      
      
      # Additional import path used to resolve QML modules just for Qt Quick Designer
      
      QML_DESIGNER_IMPORT_PATH =
      
      
      
      # Default rules for deployment.
      
      qnx: target.path = /tmp/$${TARGET}/bin
      
      else: unix:!android: target.path = /opt/$${TARGET}/bin
      
      !isEmpty(target.path): INSTALLS += target
      
      • main.cpp
      #include <QGuiApplication>
      #include <QQmlApplicationEngine>
      #include <QFont>
      
      int main(int argc, char *argv[])
      
      {
          QFont font; 
          font.setPointSize(10);
          font.setFamily("MSJH"); 
      
          qputenv("QT_IM_MODULE", QByteArray("qtvirtualkeyboard"));
          QCoreApplication::setAttribute(Qt::AA_EnableHighDpiScaling);
      
          QGuiApplication app(argc, argv);
      
          app.setFont(font);
      
          QQmlApplicationEngine engine;
      
          const QUrl url(QStringLiteral("qrc:/main.qml"));
      
          QObject::connect(&engine, &QQmlApplicationEngine::objectCreated,
      
                           &app, [url](QObject *obj, const QUrl &objUrl) {
      
              if (!obj && url == objUrl)
      
                  QCoreApplication::exit(-1);
      
          }, Qt::QueuedConnection);
      
          engine.load(url);
      
      
      
          return app.exec();
      
      }
      
      • main.qml
      import QtQuick 2.10
      import QtQuick.Window 2.10
      import QtQuick.Controls 2.2
      import QtQuick.VirtualKeyboard 2.3
      
      Window {
          width:1024
          height: 600
          id:root
          visible:true
          Rectangle{
              anchors.fill:parent
          }
          TextField{
              id:key
              anchors.top: parent.top
              anchors.horizontalCenter: parent.horizontalCenter
      	anchors.bottom: InputPanel.top
              focus:true
          }
          InputPanel{
              id:vkb
              visible:true
              active:true
              anchors.fill:parent
          	anchors.left: parent.left
              anchors.right: parent.right
          }
      }
      
      • configuration when cross compile QT5.11.3
      ./configure 
      -release 
      -sysroot /home/admin/Desktop/file_partition/sysroot 
      -prefix /release -extprefix /home/admin/Desktop/file_partition/release_11_3 
      -opensource
      -make libs 
      -xplatform linux-arm-gnueabi-g++ 
      -no-pch -qt-libjpeg 
      -no-opengl 
      -skip qt3d 
      -skip qtcanvas3d 
      -skip qtpurchasing
      -no-sse2 -no-openssl 
      -no-iconv 
      -nomake examples 
      -skip qtserialbus 
      -evdev
      -I/home/admin/Desktop/qtsource/corssbin/ts_release/include 
      -L/home/admin/Desktop/qtsource/corssbin/ts_release/lib 
      -make libs
      
      • included parts
      Building on: linux-g++ (x86_64, CPU features: mmx sse sse2)
      Building for: linux-arm-gnueabi-g++ (arm, CPU features: <none>)
      Configuration: cross_compile compile_examples enable_new_dtags largefile shared rpath release c++11 c++14 concurrent dbus reduce_exports stl
      Build options:
        Mode ................................... release
        Optimize release build for size ........ no
        Building shared libraries .............. yes
        Using C++ standard ..................... C++14
        Using ccache ........................... no
        Using gold linker ...................... no
        Using new DTAGS ........................ yes
        Using precompiled headers .............. no
        Using LTCG ............................. no
        Target compiler supports:
          NEON ................................. no
        Build parts ............................ libs libs
      Qt modules and options:
        Qt Concurrent .......................... yes
        Qt D-Bus ............................... yes
        Qt D-Bus directly linked to libdbus .... yes
        Qt Gui ................................. yes
        Qt Network ............................. yes
        Qt Sql ................................. yes
        Qt Testlib ............................. yes
        Qt Widgets ............................. yes
        Qt Xml ................................. yes
      Support enabled for:
        Using pkg-config ....................... yes
        udev ................................... yes
        Using system zlib ...................... yes
      Qt Core:
        DoubleConversion ....................... yes
          Using system DoubleConversion ........ no
        GLib ................................... yes
        iconv .................................. no
        ICU .................................... yes
        Tracing backend ........................ <none>
        Logging backends:
          journald ............................. no
          syslog ............................... no
          slog2 ................................ no
        Using system PCRE2 ..................... no
      Qt Network:
        getifaddrs() ........................... yes
        IPv6 ifname ............................ yes
        libproxy ............................... no
        Linux AF_NETLINK ....................... no
        OpenSSL ................................ no
          Qt directly linked to OpenSSL ........ no
        OpenSSL 1.1 ............................ no
        SCTP ................................... no
        Use system proxies ..................... yes
      Qt Gui:
        Accessibility .......................... yes
        FreeType ............................... yes
          Using system FreeType ................ yes
        HarfBuzz ............................... yes
          Using system HarfBuzz ................ no
        Fontconfig ............................. yes
        Image formats:
          GIF .................................. yes
          ICO .................................. yes
          JPEG ................................. yes
            Using system libjpeg ............... no
          PNG .................................. yes
            Using system libpng ................ yes
        EGL .................................... no
        OpenVG ................................. no
        OpenGL:
          Desktop OpenGL ....................... no
          OpenGL ES 2.0 ........................ no
          OpenGL ES 3.0 ........................ no
          OpenGL ES 3.1 ........................ no
          OpenGL ES 3.2 ........................ no
        Vulkan ................................. no
        Session Management ..................... yes
      Features used by QPA backends:
        evdev .................................. yes
        libinput ............................... no
        INTEGRITY HID .......................... no
        mtdev .................................. no
        tslib .................................. yes
        xkbcommon-evdev ........................ no
      QPA backends:
        DirectFB ............................... no
        EGLFS .................................. no
        LinuxFB ................................ yes
        VNC .................................... yes
        Mir client ............................. no
      Qt Widgets:
        GTK+ ................................... no
        Styles ................................. Fusion Windows
      Qt PrintSupport:
        CUPS ................................... no
      Qt Sql:
        DB2 (IBM) .............................. no
        InterBase .............................. no
        MySql .................................. no
        OCI (Oracle) ........................... no
        ODBC ................................... no
        PostgreSQL ............................. no
        SQLite2 ................................ no
        SQLite ................................. yes
          Using system provided SQLite ......... no
        TDS (Sybase) ........................... no
      Qt Testlib:
        Tester for item models ................. yes
      QtXmlPatterns:
        XML schema support ..................... yes
      Qt QML:
        QML network support .................... yes
        QML debugging and profiling support .... yes
        QML delegate model ..................... yes
      Qt Quick:
        Direct3D 12 ............................ no
        AnimatedImage item ..................... yes
        Canvas item ............................ yes
        Support for Qt Quick Designer .......... yes
        Flipable item .......................... yes
        GridView item .......................... yes
        ListView item .......................... yes
        Path support ........................... yes
        PathView item .......................... yes
        Positioner items ....................... yes
        Repeater item .......................... yes
        ShaderEffect item ...................... yes
        Sprite item ............................ yes
      Qt Gamepad:
        SDL2 ................................... no
      Qt Wayland Client ........................ no
      Qt Wayland Compositor .................... no
      Qt Bluetooth:
        BlueZ .................................. yes
        BlueZ Low Energy ....................... yes
        Linux Crypto API ....................... yes
        WinRT Bluetooth API (desktop & UWP) .... no
      Qt Sensors:
        sensorfw ............................... no
      Qt Quick Controls 2:
        Styles ................................. Default Fusion Imagine Material Universal
      Qt Quick Templates 2:
        Hover support .......................... yes
        Multi-touch support .................... yes
      Qt Positioning:
        Gypsy GPS Daemon ....................... no
        WinRT Geolocation API .................. no
      Qt Location:
        Qt.labs.location experimental QML plugin . yes
        Geoservice plugins:
          OpenStreetMap ........................ yes
          HERE ................................. yes
          Esri ................................. yes
          Mapbox ............................... yes
          MapboxGL ............................. no
          Itemsoverlay ......................... yes
      Qt Multimedia:
        ALSA ................................... yes
        GStreamer 1.0 .......................... no
        GStreamer 0.10 ......................... yes
        Video for Linux ........................ yes
        OpenAL ................................. no
        PulseAudio ............................. no
        Resource Policy (libresourceqt5) ....... no
        Windows Audio Services ................. no
        DirectShow ............................. no
        Windows Media Foundation ............... no
      Qt WebEngine:
        Embedded build ......................... yes
        Pepper Plugins ......................... no
        Printing and PDF ....................... no
        Proprietary Codecs ..................... no
        Spellchecker ........................... yes
        Native Spellchecker .................... no
        WebRTC ................................. no
        Use System Ninja ....................... no
        Geolocation ............................ yes
        Use v8 snapshot ........................ yes
        Building v8 snapshot supported ......... no
        Use ALSA ............................... yes
        Use PulseAudio ......................... no
        Optional system libraries used:
          re2 .................................. no
          icu .................................. no
          libwebp, libwebpmux and libwebpdemux . no
          opus ................................. no
          ffmpeg ............................... no
          libvpx ............................... no
          snappy ............................... no
          libsrtp .............................. no
          glib ................................. yes
          zlib ................................. yes
          minizip .............................. no
          libevent ............................. no
          jsoncpp .............................. no
          protobuf ............................. no
          libxml2 and libxslt .................. no
          lcms2 ................................ no
          png .................................. yes
          JPEG ................................. no
          harfbuzz ............................. no
          freetype ............................. yes
        Required system libraries:
          fontconfig ........................... yes
          dbus ................................. yes
          nss .................................. no
          khr .................................. no
          glibc ................................ yes
        Required system libraries for qpa-xcb:
          libdrm ............................... no
          xcomposite ........................... no
          xcursor .............................. no
          xi ................................... no
          xrandr ............................... no
          xtst ................................. no
      
      
      • platform environment before executing programe.
      
      export LD_LIBRARY_PATH='/emmc/ts_lib/lib:/emmc/qt_dir/lib:/emmc/qt_dir/plugins/platforms:/lib:/usr/lib:/usr/local/lib'
      export PATH='/usr/bin:/bin:/usr/sbin:/sbin:/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin'
      
      export QT_ROOT='/emmc/qt_dir'
      export QML2_IMPORT_PATH='/emmc/qt_dir/qml'
      export QML_IMPORT_PATH='/emmc/qt_dir/qml'
      export QT_DEBUG_PLUGINS='1'
      export QT_IM_MODULE='qtvirtualkeyboard'
      export QT_PLUGIN_PATH='/emmc/qt_dir/plugins'
      
      export QT_QPA_FB_DRM='2'
      export QT_QPA_FB_TSLIB='1'
      export QT_QPA_FONTDIR='/emmc/qt_dir/lib/fonts'
      export QT_QPA_GENERIC_PLUGINS='tslib'
      export QT_QPA_PLATFORM='linuxfb:fb=/dev/fb0'
      export QT_QPA_PLATFORM_PLUGIN_PATH='/emmc/qt_dir/plugins/platforms'
      
      export QT_VIRTUALKEYBOARD_PINYIN_DICTIONARY='/emmc/qt_dir/qtvirtualkeyboard/pinyin/dict_pinyin.dat'
      export QT_VIRTUALKEYBOARD_ZHUYIN_DICTIONARY='/emmc/qt_dir/qtvirtualkeyboard/tcime/dict_zhuyin.dat'
      export TSLIB_CONFFILE='/emmc/ts_lib/etc/ts.conf'
      export TSLIB_CONSOLEDEVICE='none'
      export TSLIB_FBDEVICE='/dev/fb0'
      export TSLIB_PLUGINDIR='/emmc/ts_lib/lib/ts'
      export TSLIB_ROOT='/emmc/ts_lib'
      export TSLIB_TSDEVICE='/dev/input/event2'
      

      checked DICTIONARY file ,it's exist.

      • debug information
      QFactoryLoader::QFactoryLoader() checking directory path "/emmc/qt_dir/plugins/platforms" ...
      QFactoryLoader::QFactoryLoader() looking at "/emmc/qt_dir/plugins/platforms/libqlinuxfb.so"
      Found metadata in lib /emmc/qt_dir/plugins/platforms/libqlinuxfb.so, metadata=
      {
          "IID": "org.qt-project.Qt.QPA.QPlatformIntegrationFactoryInterface.5.3",
          "MetaData": {
              "Keys": [
                  "linuxfb"
              ]
          },
          "className": "QLinuxFbIntegrationPlugin",
          "debug": false,
          "version": 330499
      }
      
      
      Got keys from plugin meta data ("linuxfb")
      QFactoryLoader::QFactoryLoader() looking at "/emmc/qt_dir/plugins/platforms/libqminimal.so"
      Found metadata in lib /emmc/qt_dir/plugins/platforms/libqminimal.so, metadata=
      {
          "IID": "org.qt-project.Qt.QPA.QPlatformIntegrationFactoryInterface.5.3",
          "MetaData": {
              "Keys": [
                  "minimal"
              ]
          },
          "className": "QMinimalIntegrationPlugin",
          "debug": false,
          "version": 330499
      }
      
      
      Got keys from plugin meta data ("minimal")
      QFactoryLoader::QFactoryLoader() looking at "/emmc/qt_dir/plugins/platforms/libqoffscreen.so"
      Found metadata in lib /emmc/qt_dir/plugins/platforms/libqoffscreen.so, metadata=
      {
          "IID": "org.qt-project.Qt.QPA.QPlatformIntegrationFactoryInterface.5.3",
          "MetaData": {
              "Keys": [
                  "offscreen"
              ]
          },
          "className": "QOffscreenIntegrationPlugin",
          "debug": false,
          "version": 330499
      }
      
      
      Got keys from plugin meta data ("offscreen")
      QFactoryLoader::QFactoryLoader() looking at "/emmc/qt_dir/plugins/platforms/libqvnc.so"
      Found metadata in lib /emmc/qt_dir/plugins/platforms/libqvnc.so, metadata=
      {
          "IID": "org.qt-project.Qt.QPA.QPlatformIntegrationFactoryInterface.5.3",
          "MetaData": {
              "Keys": [
                  "vnc"
              ]
          },
          "className": "QVncIntegrationPlugin",
          "debug": false,
          "version": 330499
      }
      
      
      Got keys from plugin meta data ("vnc")
      QFactoryLoader::QFactoryLoader() checking directory path "/emmc/qt_dir/plugins" ...
      QFactoryLoader::QFactoryLoader() checking directory path "/root/qts" ...
      QFactoryLoader::QFactoryLoader() checking directory path "/emmc/qt_dir/plugins/platforms/platforms" ...
      QFactoryLoader::QFactoryLoader() checking directory path "/emmc/qt_dir/plugins/platforms" ...
      QFactoryLoader::QFactoryLoader() looking at "/emmc/qt_dir/plugins/platforms/libqlinuxfb.so"
      Got keys from plugin meta data ("linuxfb")
      QFactoryLoader::QFactoryLoader() looking at "/emmc/qt_dir/plugins/platforms/libqminimal.so"
      Got keys from plugin meta data ("minimal")
      QFactoryLoader::QFactoryLoader() looking at "/emmc/qt_dir/plugins/platforms/libqoffscreen.so"
      Got keys from plugin meta data ("offscreen")
      QFactoryLoader::QFactoryLoader() looking at "/emmc/qt_dir/plugins/platforms/libqvnc.so"
      Got keys from plugin meta data ("vnc")
      QFactoryLoader::QFactoryLoader() checking directory path "/root/qts/platforms" ...
      loaded library "/emmc/qt_dir/plugins/platforms/libqlinuxfb.so"
      QStandardPaths: XDG_RUNTIME_DIR not set, defaulting to '/tmp/runtime-root'
      QFactoryLoader::QFactoryLoader() checking directory path "/emmc/qt_dir/plugins/platforms/platforminputcontexts" ...
      QFactoryLoader::QFactoryLoader() checking directory path "/emmc/qt_dir/plugins/platforminputcontexts" ...
      QFactoryLoader::QFactoryLoader() looking at "/emmc/qt_dir/plugins/platforminputcontexts/libibusplatforminputcontextplugin.so"
      Found metadata in lib /emmc/qt_dir/plugins/platforminputcontexts/libibusplatforminputcontextplugin.so, metadata=
      {
          "IID": "org.qt-project.Qt.QPlatformInputContextFactoryInterface.5.1",
          "MetaData": {
              "Keys": [
                  "ibus"
              ]
          },
          "className": "QIbusPlatformInputContextPlugin",
          "debug": false,
          "version": 330499
      }
      
      
      Got keys from plugin meta data ("ibus")
      QFactoryLoader::QFactoryLoader() looking at "/emmc/qt_dir/plugins/platforminputcontexts/libqtvirtualkeyboardplugin.so"
      Found metadata in lib /emmc/qt_dir/plugins/platforminputcontexts/libqtvirtualkeyboardplugin.so, metadata=
      {
          "IID": "org.qt-project.Qt.QPlatformInputContextFactoryInterface.5.1",
          "MetaData": {
              "Keys": [
                  "qtvirtualkeyboard"
              ]
          },
          "className": "QVirtualKeyboardPlugin",
          "debug": false,
          "version": 330499
      }
      
      
      Got keys from plugin meta data ("qtvirtualkeyboard")
      QFactoryLoader::QFactoryLoader() checking directory path "/root/qts/platforminputcontexts" ...
      loaded library "/emmc/qt_dir/plugins/platforminputcontexts/libqtvirtualkeyboardplugin.so"
      QFactoryLoader::QFactoryLoader() checking directory path "/emmc/qt_dir/plugins/platforms/generic" ...
      QFactoryLoader::QFactoryLoader() checking directory path "/emmc/qt_dir/plugins/generic" ...
      QFactoryLoader::QFactoryLoader() looking at "/emmc/qt_dir/plugins/generic/libqevdevkeyboardplugin.so"
      Found metadata in lib /emmc/qt_dir/plugins/generic/libqevdevkeyboardplugin.so, metadata=
      {
          "IID": "org.qt-project.Qt.QGenericPluginFactoryInterface",
          "MetaData": {
              "Keys": [
                  "EvdevKeyboard"
              ]
          },
          "className": "QEvdevKeyboardPlugin",
          "debug": false,
          "version": 330499
      }
      
      
      Got keys from plugin meta data ("evdevkeyboard")
      QFactoryLoader::QFactoryLoader() looking at "/emmc/qt_dir/plugins/generic/libqevdevmouseplugin.so"
      Found metadata in lib /emmc/qt_dir/plugins/generic/libqevdevmouseplugin.so, metadata=
      {
          "IID": "org.qt-project.Qt.QGenericPluginFactoryInterface",
          "MetaData": {
              "Keys": [
                  "EvdevMouse"
              ]
          },
          "className": "QEvdevMousePlugin",
          "debug": false,
          "version": 330499
      }
      
      
      Got keys from plugin meta data ("evdevmouse")
      QFactoryLoader::QFactoryLoader() looking at "/emmc/qt_dir/plugins/generic/libqevdevtabletplugin.so"
      Found metadata in lib /emmc/qt_dir/plugins/generic/libqevdevtabletplugin.so, metadata=
      {
          "IID": "org.qt-project.Qt.QGenericPluginFactoryInterface",
          "MetaData": {
              "Keys": [
                  "EvdevTablet"
              ]
          },
          "className": "QEvdevTabletPlugin",
          "debug": false,
          "version": 330499
      }
      
      
      Got keys from plugin meta data ("evdevtablet")
      QFactoryLoader::QFactoryLoader() looking at "/emmc/qt_dir/plugins/generic/libqevdevtouchplugin.so"
      Found metadata in lib /emmc/qt_dir/plugins/generic/libqevdevtouchplugin.so, metadata=
      {
          "IID": "org.qt-project.Qt.QGenericPluginFactoryInterface",
          "MetaData": {
              "Keys": [
                  "EvdevTouch"
              ]
          },
          "className": "QEvdevTouchScreenPlugin",
          "debug": false,
          "version": 330499
      }
      
      
      Got keys from plugin meta data ("evdevtouch")
      QFactoryLoader::QFactoryLoader() looking at "/emmc/qt_dir/plugins/generic/libqtslibplugin.so"
      Found metadata in lib /emmc/qt_dir/plugins/generic/libqtslibplugin.so, metadata=
      {
          "IID": "org.qt-project.Qt.QGenericPluginFactoryInterface",
          "MetaData": {
              "Keys": [
                  "Tslib",
                  "TslibRaw"
              ]
          },
          "className": "QTsLibPlugin",
          "debug": false,
          "version": 330499
      }
      
      
      Got keys from plugin meta data ("tslib", "tslibraw")
      QFactoryLoader::QFactoryLoader() looking at "/emmc/qt_dir/plugins/generic/libqtuiotouchplugin.so"
      Found metadata in lib /emmc/qt_dir/plugins/generic/libqtuiotouchplugin.so, metadata=
      {
          "IID": "org.qt-project.Qt.QGenericPluginFactoryInterface",
          "MetaData": {
              "Keys": [
                  "TuioTouch"
              ]
          },
          "className": "QTuioTouchPlugin",
          "debug": false,
          "version": 330499
      }
      
      
      Got keys from plugin meta data ("tuiotouch")
      QFactoryLoader::QFactoryLoader() checking directory path "/root/qts/generic" ...
      loaded library "/emmc/qt_dir/plugins/generic/libqtslibplugin.so"
      Found metadata in lib /emmc/qt_dir/qml/QtQuick.2/libqtquick2plugin.so, metadata=
      {
          "IID": "org.qt-project.Qt.QQmlExtensionInterface/1.0",
          "MetaData": {
          },
          "className": "QtQuick2Plugin",
          "debug": false,
          "uri": [
              "QtQuick.2"
          ],
          "version": 330499
      }
      
      
      loaded library "/emmc/qt_dir/qml/QtQuick.2/libqtquick2plugin.so"
      Found metadata in lib /emmc/qt_dir/qml/QtQuick/Window.2/libwindowplugin.so, metadata=
      {
          "IID": "org.qt-project.Qt.QQmlExtensionInterface/1.0",
          "MetaData": {
          },
          "className": "QtQuick2WindowPlugin",
          "debug": false,
          "uri": [
              "QtQuick.Window.2"
          ],
          "version": 330499
      }
      
      
      loaded library "/emmc/qt_dir/qml/QtQuick/Window.2/libwindowplugin.so"
      Found metadata in lib /emmc/qt_dir/qml/QtQuick/Controls.2/libqtquickcontrols2plugin.so, metadata=
      {
          "IID": "org.qt-project.Qt.QQmlExtensionInterface/1.0",
          "MetaData": {
          },
          "className": "QtQuickControls2Plugin",
          "debug": false,
          "uri": [
              "QtQuick.Controls.2"
          ],
          "version": 330499
      }
      
      
      loaded library "/emmc/qt_dir/qml/QtQuick/Controls.2/libqtquickcontrols2plugin.so"
      Found metadata in lib /emmc/qt_dir/qml/QtQuick/Templates.2/libqtquicktemplates2plugin.so, metadata=
      {
          "IID": "org.qt-project.Qt.QQmlExtensionInterface/1.0",
          "MetaData": {
          },
          "className": "QtQuickTemplates2Plugin",
          "debug": false,
          "uri": [
              "QtQuick.Templates.2"
          ],
          "version": 330499
      }
      
      
      loaded library "/emmc/qt_dir/qml/QtQuick/Templates.2/libqtquicktemplates2plugin.so"
      Found metadata in lib /emmc/qt_dir/qml/QtQuick/Layouts/libqquicklayoutsplugin.so, metadata=
      {
          "IID": "org.qt-project.Qt.QQmlExtensionInterface/1.0",
          "MetaData": {
          },
          "className": "QtQuickLayoutsPlugin",
          "debug": false,
          "uri": [
              "QtQuick.Layouts"
          ],
          "version": 330499
      }
      
      
      loaded library "/emmc/qt_dir/qml/QtQuick/Layouts/libqquicklayoutsplugin.so"
      Found metadata in lib /emmc/qt_dir/qml/QtQuick/VirtualKeyboard/Styles/libqtvirtualkeyboardstylesplugin.so, metadata=
      {
          "IID": "org.qt-project.Qt.QQmlExtensionInterface/1.0",
          "MetaData": {
          },
          "className": "QtVirtualKeyboardStylesPlugin",
          "debug": false,
          "uri": [
              "QtQuick.VirtualKeyboard.Styles"
          ],
          "version": 330499
      }
      
      
      loaded library "/emmc/qt_dir/qml/QtQuick/VirtualKeyboard/Styles/libqtvirtualkeyboardstylesplugin.so"
      Found metadata in lib /emmc/qt_dir/qml/Qt/labs/folderlistmodel/libqmlfolderlistmodelplugin.so, metadata=
      {
          "IID": "org.qt-project.Qt.QQmlExtensionInterface/1.0",
          "MetaData": {
          },
          "className": "QmlFolderListModelPlugin",
          "debug": false,
          "uri": [
              "Qt.labs.folderlistmodel"
          ],
          "version": 330499
      }
      
      
      loaded library "/emmc/qt_dir/qml/Qt/labs/folderlistmodel/libqmlfolderlistmodelplugin.so"
      QFactoryLoader::QFactoryLoader() checking directory path "/emmc/qt_dir/plugins/platforms/imageformats" ...
      QFactoryLoader::QFactoryLoader() checking directory path "/emmc/qt_dir/plugins/imageformats" ...
      QFactoryLoader::QFactoryLoader() looking at "/emmc/qt_dir/plugins/imageformats/libqgif.so"
      Found metadata in lib /emmc/qt_dir/plugins/imageformats/libqgif.so, metadata=
      {
          "IID": "org.qt-project.Qt.QImageIOHandlerFactoryInterface",
          "MetaData": {
              "Keys": [
                  "gif"
              ],
              "MimeTypes": [
                  "image/gif"
              ]
          },
          "className": "QGifPlugin",
          "debug": false,
          "version": 330499
      }
      
      
      Got keys from plugin meta data ("gif")
      QFactoryLoader::QFactoryLoader() looking at "/emmc/qt_dir/plugins/imageformats/libqicns.so"
      Found metadata in lib /emmc/qt_dir/plugins/imageformats/libqicns.so, metadata=
      {
          "IID": "org.qt-project.Qt.QImageIOHandlerFactoryInterface",
          "MetaData": {
              "Keys": [
                  "icns"
              ],
              "MimeTypes": [
                  "image/x-icns"
              ]
          },
          "className": "QICNSPlugin",
          "debug": false,
          "version": 330499
      }
      
      
      Got keys from plugin meta data ("icns")
      QFactoryLoader::QFactoryLoader() looking at "/emmc/qt_dir/plugins/imageformats/libqico.so"
      Found metadata in lib /emmc/qt_dir/plugins/imageformats/libqico.so, metadata=
      {
          "IID": "org.qt-project.Qt.QImageIOHandlerFactoryInterface",
          "MetaData": {
              "Keys": [
                  "ico",
                  "cur"
              ],
              "MimeTypes": [
                  "image/vnd.microsoft.icon",
                  "image/vnd.microsoft.icon"
              ]
          },
          "className": "QICOPlugin",
          "debug": false,
          "version": 330499
      }
      
      
      Got keys from plugin meta data ("ico", "cur")
      QFactoryLoader::QFactoryLoader() looking at "/emmc/qt_dir/plugins/imageformats/libqjpeg.so"
      Found metadata in lib /emmc/qt_dir/plugins/imageformats/libqjpeg.so, metadata=
      {
          "IID": "org.qt-project.Qt.QImageIOHandlerFactoryInterface",
          "MetaData": {
              "Keys": [
                  "jpg",
                  "jpeg"
              ],
              "MimeTypes": [
                  "image/jpeg",
                  "image/jpeg"
              ]
          },
          "className": "QJpegPlugin",
          "debug": false,
          "version": 330499
      }
      
      
      Got keys from plugin meta data ("jpg", "jpeg")
      QFactoryLoader::QFactoryLoader() looking at "/emmc/qt_dir/plugins/imageformats/libqsvg.so"
      Found metadata in lib /emmc/qt_dir/plugins/imageformats/libqsvg.so, metadata=
      {
          "IID": "org.qt-project.Qt.QImageIOHandlerFactoryInterface",
          "MetaData": {
              "Keys": [
                  "svg",
                  "svgz"
              ],
              "MimeTypes": [
                  "image/svg+xml",
                  "image/svg+xml-compressed"
              ]
          },
          "className": "QSvgPlugin",
          "debug": false,
          "version": 330499
      }
      
      
      Got keys from plugin meta data ("svg", "svgz")
      QFactoryLoader::QFactoryLoader() looking at "/emmc/qt_dir/plugins/imageformats/libqtga.so"
      Found metadata in lib /emmc/qt_dir/plugins/imageformats/libqtga.so, metadata=
      {
          "IID": "org.qt-project.Qt.QImageIOHandlerFactoryInterface",
          "MetaData": {
              "Keys": [
                  "tga"
              ],
              "MimeTypes": [
                  "image/x-tga"
              ]
          },
          "className": "QTgaPlugin",
          "debug": false,
          "version": 330499
      }
      
      
      Got keys from plugin meta data ("tga")
      QFactoryLoader::QFactoryLoader() looking at "/emmc/qt_dir/plugins/imageformats/libqtiff.so"
      Found metadata in lib /emmc/qt_dir/plugins/imageformats/libqtiff.so, metadata=
      {
          "IID": "org.qt-project.Qt.QImageIOHandlerFactoryInterface",
          "MetaData": {
              "Keys": [
                  "tiff",
                  "tif"
              ],
              "MimeTypes": [
                  "image/tiff",
                  "image/tiff"
              ]
          },
          "className": "QTiffPlugin",
          "debug": false,
          "version": 330499
      }
      
      
      Got keys from plugin meta data ("tiff", "tif")
      QFactoryLoader::QFactoryLoader() looking at "/emmc/qt_dir/plugins/imageformats/libqwbmp.so"
      Found metadata in lib /emmc/qt_dir/plugins/imageformats/libqwbmp.so, metadata=
      {
          "IID": "org.qt-project.Qt.QImageIOHandlerFactoryInterface",
          "MetaData": {
              "Keys": [
                  "wbmp"
              ],
              "MimeTypes": [
                  "image/vnd.wap.wbmp"
              ]
          },
          "className": "QWbmpPlugin",
          "debug": false,
          "version": 330499
      }
      
      
      Got keys from plugin meta data ("wbmp")
      QFactoryLoader::QFactoryLoader() looking at "/emmc/qt_dir/plugins/imageformats/libqwebp.so"
      Found metadata in lib /emmc/qt_dir/plugins/imageformats/libqwebp.so, metadata=
      {
          "IID": "org.qt-project.Qt.QImageIOHandlerFactoryInterface",
          "MetaData": {
              "Keys": [
                  "webp"
              ],
              "MimeTypes": [
                  "image/webp"
              ]
          },
          "className": "QWebpPlugin",
          "debug": false,
          "version": 330499
      }
      
      
      Got keys from plugin meta data ("webp")
      QFactoryLoader::QFactoryLoader() checking directory path "/root/qts/imageformats" ...
      loaded library "/emmc/qt_dir/plugins/imageformats/libqgif.so"
      loaded library "/emmc/qt_dir/plugins/imageformats/libqicns.so"
      loaded library "/emmc/qt_dir/plugins/imageformats/libqico.so"
      loaded library "/emmc/qt_dir/plugins/imageformats/libqjpeg.so"
      loaded library "/emmc/qt_dir/plugins/imageformats/libqsvg.so"
      loaded library "/emmc/qt_dir/plugins/imageformats/libqtga.so"
      Cannot load library /emmc/qt_dir/plugins/imageformats/libqtiff.so: (libtiff.so.5: cannot open shared object file: No such file or directory)
      QLibraryPrivate::loadPlugin failed on "/emmc/qt_dir/plugins/imageformats/libqtiff.so" : "Cannot load library /emmc/qt_dir/plugins/imageformats/libqtiff.so: (libtiff.so.5: cannot open shared object file: No such file or directory)"
      loaded library "/emmc/qt_dir/plugins/imageformats/libqwbmp.so"
      loaded library "/emmc/qt_dir/plugins/imageformats/libqwebp.so"
      QFactoryLoader::QFactoryLoader() checking directory path "/emmc/qt_dir/plugins/platforms/accessiblebridge" ...
      QFactoryLoader::QFactoryLoader() checking directory path "/emmc/qt_dir/plugins/accessiblebridge" ...
      QFactoryLoader::QFactoryLoader() checking directory path "/root/qts/accessiblebridge" ...
      QFactoryLoader::QFactoryLoader() checking directory path "/emmc/qt_dir/plugins/platforms/accessible" ...
      QFactoryLoader::QFactoryLoader() checking directory path "/emmc/qt_dir/plugins/accessible" ...
      QFactoryLoader::QFactoryLoader() checking directory path "/root/qts/accessible" ...
      
      W Offline
      W Offline
      william6849
      wrote on last edited by
      #2

      I tryed to use

      QtQuick.VirtualKeyboard.Settings 2.2
      

      set variable.

      wordCandidateList.alwaysVisible = true
      

      it shows candidate list rectangle now, but still empty, no any candidate appear.

      1 Reply Last reply
      0
      • W Offline
        W Offline
        william6849
        wrote on last edited by william6849
        #3

        I found that Japaneese Kanji work normally, maybe it's chinese dictionary problem.

        1 Reply Last reply
        0
        • W Offline
          W Offline
          william6849
          wrote on last edited by
          #4

          Hello guys.
          I solved the problem.

          It's because of dictionary path compiled as absolute prefix path.

          I checked the source code,
          qtvirtualkeyboard\src\virtualkeyboard\tcinputmethod.cpp

          382        if (inputMode == InputEngine::Zhuyin) {
          383            if (d->zhuyinDictionary.isEmpty()) {
          384                QString zhuyinDictionary(qEnvironmentVariable("QT_VIRTUALKEYBOARD_ZHUYIN_DICTIONARY"));
          385                if (zhuyinDictionary.isEmpty())
          386                    zhuyinDictionary = QLibraryInfo::location(QLibraryInfo::DataPath) + "/qtvirtualkeyboard/tcime/dict_zhuyin.dat";
          387                d->zhuyinDictionary.load(zhuyinDictionary);
          388            }
          389            d->wordDictionary = &d->zhuyinDictionary;
          390        }
          

          Line 386 :
          It used QLibraryInfo, the datapath equals prefix path .

          I am not expert in QT, but in this case it is not related by qt path on my platform,
          I thought the path should be "$QT_ROOT/prefix".
          But actually , it used "/prefix" as absolute path.
          So I have to move the dictionary file to "/prefix/qtvirtualkeyboard/tcime/dict_zhuyin.dat"
          instead of "&QT_ROOT/prefix/qtvirtualkeyboard/tcime/dict_zhuyin.dat"

          that's why Japanese work fine, because it implemented without external dictionary.

          Is this a bug ? Or just my misunderstanding of QT.

          1 Reply Last reply
          0
          • SGaistS Offline
            SGaistS Offline
            SGaist
            Lifetime Qt Champion
            wrote on last edited by
            #5

            Hi and welcome to devnet,

            What is the code for the working dictionary ?

            Interested in AI ? www.idiap.ch
            Please read the Qt Code of Conduct - https://forum.qt.io/topic/113070/qt-code-of-conduct

            W 1 Reply Last reply
            0
            • SGaistS SGaist

              Hi and welcome to devnet,

              What is the code for the working dictionary ?

              W Offline
              W Offline
              william6849
              wrote on last edited by
              #6

              @sgaist
              I changed enum QLibraryInfo::LibraryLocationtype.
              from QLibraryInfo::DataPath to QLibraryInfo::PluginsPath ,
              also moved qtvirtualkeyboard folder from / to QT_PLUGIN_PATH/ .

              382        if (inputMode == InputEngine::Zhuyin) {
              383            if (d->zhuyinDictionary.isEmpty()) {
              384                QString zhuyinDictionary(qEnvironmentVariable("QT_VIRTUALKEYBOARD_ZHUYIN_DICTIONARY"));
              385                if (zhuyinDictionary.isEmpty())
              386                    zhuyinDictionary = QLibraryInfo::location(QLibraryInfo::PluginsPath) + "/qtvirtualkeyboard/tcime/dict_zhuyin.dat";
              387                d->zhuyinDictionary.load(zhuyinDictionary);
              388            }
              389            d->wordDictionary = &d->zhuyinDictionary;
              390        }
              

              I checked this:
              Qt Virtual Keyboard Deployment Guide

              It said:

              For example, for Qt libraries built from source, it could be qtbase/qtvirtualkeyboard/tcime/dict_zhuyin.dat.
              

              It was,but for embeded system, we won't provide QTBASE envirement variable, made this is not really portable ,
              but we'll set QT_PLUGIN_PATH, that's why I made the change;


              And this,
              enum QLibraryInfo::LibraryLocation
              says,

              QLibraryInfo::DataPath	:The location of general `architecture-independent` Qt data.
              

              Truely cause me misunderstanding. I don't know this is meaning absolute or portable.

              1 Reply Last reply
              0
              • SGaistS Offline
                SGaistS Offline
                SGaist
                Lifetime Qt Champion
                wrote on last edited by
                #7

                Thanks for the info

                Interested in AI ? www.idiap.ch
                Please read the Qt Code of Conduct - https://forum.qt.io/topic/113070/qt-code-of-conduct

                1 Reply Last reply
                0

                • Login

                • Login or register to search.
                • First post
                  Last post
                0
                • Categories
                • Recent
                • Tags
                • Popular
                • Users
                • Groups
                • Search
                • Get Qt Extensions
                • Unsolved