Skip to content

Mobile and Embedded

The forum for developing everything embedded: Linux, WinCE, Symbian, MeeGo... you name it.
14.2k Topics 62.7k Posts
  • QtWebEngine on embedded linux high cpu load

    qtwebengine arm linux
    1
    0 Votes
    1 Posts
    1k Views
    No one has replied
  • Important topics to learn QtQuick and Qml

    2
    0 Votes
    2 Posts
    2k Views
    p3c0P
    Hi @Rohith Since you are a beginner you should start with QtQuick basics. Qt's documentation is your friend here. Following topics will be helpful: http://doc.qt.io/qt-5/gettingstartedqml.html http://doc.qt.io/qt-5/qmlapplications.html http://doc.qt.io/qt-5/qtquick-index.html Now since your are mostly focussing on animations check out the following: http://doc.qt.io/qt-5/qtquick-usecase-animations.html http://doc.qt.io/qt-5/qtquick-statesanimations-topic.html JavaScript: javascript-environment-for-qml-applications check out the individual links under that topic http://doc.qt.io/qt-5/qtquick-usecase-integratingjs.html JSON: Since QML is based upon JavaScript so it supports JSON out of the box. Check this list of JavaScript Objects and Functions. Examples for usage of JSON http://doc.qt.io/qt-5/qtquick-demos-tweetsearch-example.html https://wiki.qt.io/JSONListModel XML: QML has eased the use of XML by providing XmlListModel and XmlRole Check out an example here http://doc.qt.io/qt-5/qtquick-demos-rssnews-example.html Apart from that I think you should also have a look at Local Storage support. QML has inbuilt support for SQLite database. Going further you may also feel the need to interact with QML from C++. Following topics should help you in that case: http://doc.qt.io/qt-5/qtqml-cppintegration-topic.html http://doc.qt.io/qt-5/qtqml-cppintegration-interactqmlfromcpp.html Later you may feel a need to be able to create QML object on the fly i.e at runtime to improve performance and other. Following will help you in that case: http://doc.qt.io/qt-5/qtqml-javascript-dynamicobjectcreation.html http://doc.qt.io/qt-5/qml-qtquick-loader.html To fine tune them: http://doc.qt.io/qt-5/qtquick-performance.html Also an important concept to go through and most frequently required is models and views. QML supports C++ models as well. For an overview http://doc.qt.io/qt-5/qtquick-modelviewsdata-modelview.html For usage of C++ models http://doc.qt.io/qt-5/qtquick-modelviewsdata-cppmodels.html and the QML inbuilt models http://doc.qt.io/qt-5/qtqml-models-qmlmodule.html Hope this helps you.
  • QComboBox Popup Issue

    4
    0 Votes
    4 Posts
    1k Views
    SGaistS
    Qt 5.1.1 being pretty old, is updating to a more recent version an option ?
  • Qt On Embedded Linux Command Line Options

    embedded linux
    10
    0 Votes
    10 Posts
    3k Views
    SGaistS
    Hi @imanpakii, It's indeed the wrong place, please do not highjack the thread of other people with unrelated questions.
  • Got some crashes on Android

    android
    1
    0 Votes
    1 Posts
    362 Views
    No one has replied
  • 0 Votes
    1 Posts
    896 Views
    No one has replied
  • Qt Quick output is displaying incorrectly after compile

    qtquick qt5 android
    12
    0 Votes
    12 Posts
    4k Views
    p3c0P
    @rostamiani Make use of the other Layout properties as described here. Set them for TextField and other items.
  • 0 Votes
    2 Posts
    1k Views
    p3c0P
    @rostamiani Yes StackView seems to be a good candidate.
  • disable network cache in iOS

    3
    0 Votes
    3 Posts
    1k Views
    M
    Surprisingly, I was able to fix this by clearing the native iOS cache: [[NSURLCache sharedURLCache] removeAllCachedResponses]; This call has effect on both native iOS networking and Qt network code. In order to use the above call you have to rename your file to *.mm and include <Foundation/Foundation.h>.
  • How to set ip address to a computer in Qt (Solved)

    32
    0 Votes
    32 Posts
    14k Views
    H
    QProcess Class is used to start external programs and to communicate with them. create a new QProcess and input args to /bin/sh. Below code has been tested working. Thanks to p3c0, if not, answer below will not be available : QProcess *myProcess = new QProcess; QStringList args; args<"-c"<<"sudo -S ifconfig eth0 192.168.100.1 < /var/passwd.txt"); myProcess->start("/bin/sh",args);
  • How to run QTWayland example (qml-compositor) as Standalone server?

    1
    0 Votes
    1 Posts
    479 Views
    No one has replied
  • Color reversal Qt Embedded and 24bpp

    4
    0 Votes
    4 Posts
    2k Views
    SGaistS
    RGB vs BGR is really not an endianness question, you can hit that problem with both. It's about how the data is stored. However the endianness can come up when transferring that data further down which is what might be hitting you. Anyway, glad you found a workaround
  • QSqlDatabase has driver but cannot use it

    2
    0 Votes
    2 Posts
    684 Views
    S
    One solution is in test program's .pro file, add reference: also need to copy library files to plugins/sqldrivers/ folder. unix:!macx: LIBS += -L$$OUT_PWD/../sqlitecipher/ -lsqlitecipher INCLUDEPATH += $$PWD/../sqlitecipher DEPENDPATH += $$PWD/../sqlitecipher
  • Qt for Android: get access to the AssetManager

    6
    0 Votes
    6 Posts
    5k Views
    W
    After a long search I found the solution in the code of Qt itself. The final result is a modification of the original code found here: [QT_SOURCE] /qtbase/src/plugins/platforms/android/src/androidjnimain.cpp. You should put the code in a cpp of the application that needs the pointer to AAssetManager. @ #include <jni.h> #include <android/asset_manager_jni.h> static JavaVM* javaVM = NULL; static AAssetManager* m_assetManager = NULL; static jclass m_applicationClass = NULL; static jobject m_activityObject = NULL; #define MY_FIND_AND_CHECK_CLASS(CLASS_NAME) clazz = env->FindClass(CLASS_NAME); if (!clazz) { qDebug() << "No se encontrĂ³ la clase :("; return JNI_FALSE; } #define MY_GET_AND_CHECK_METHOD(VAR, CLASS, METHOD_NAME, METHOD_SIGNATURE) VAR = env->GetMethodID(CLASS, METHOD_NAME, METHOD_SIGNATURE); if (!VAR) { qDebug() << "No se encontrĂ³ el metodo :("; return JNI_FALSE; } #define MY_GET_AND_CHECK_STATIC_METHOD(VAR, CLASS, METHOD_NAME, METHOD_SIGNATURE) VAR = env->GetStaticMethodID(CLASS, METHOD_NAME, METHOD_SIGNATURE); if (!VAR) { qDebug() << "No se encontrĂ³ el metodo estatico :("; return JNI_FALSE; } static int findAssets(JNIEnv *env) { jclass clazz; MY_FIND_AND_CHECK_CLASS("org/qtproject/qt5/android/QtNative"); m_applicationClass = static_cast<jclass>(env->NewGlobalRef(clazz)); jmethodID methodID; MY_GET_AND_CHECK_STATIC_METHOD(methodID, m_applicationClass, "activity", "()Landroid/app/Activity;"); jobject activityObject = env->CallStaticObjectMethod(m_applicationClass, methodID); m_activityObject = env->NewGlobalRef(activityObject); MY_FIND_AND_CHECK_CLASS("android/content/ContextWrapper"); MY_GET_AND_CHECK_METHOD(methodID, clazz, "getAssets", "()Landroid/content/res/AssetManager;"); m_assetManager = AAssetManager_fromJava(env, env->CallObjectMethod(activityObject, methodID)); return JNI_TRUE; } extern "C" { JNIEXPORT jint JNICALL JNI_OnLoad(JavaVM *vm, void */reserved/) { qDebug() << "JNI_OnLoad :)"; typedef union { JNIEnv *nativeEnvironment; void *venv; } UnionJNIEnvToVoid; qDebug() << "UNION declarada :)"; UnionJNIEnvToVoid uenv; uenv.venv = NULL; javaVM = 0; if (vm->GetEnv(&uenv.venv, JNI_VERSION_1_4) != JNI_OK) { qDebug() << "No hay puntero al ambiente :("; return -1; } qDebug() << "Hay puntero al ambiente :)"; JNIEnv *env = uenv.nativeEnvironment; if (!findAssets(env)) { qDebug() << "No se obtuvo puntero a al AAssetManager :("; return -1; } qDebug() << "Fuck yea!!! :)"; javaVM = vm; return JNI_VERSION_1_4; } } @
  • Compiling Qt 5.5 Beta for WEC 7

    wec7 qt 5.5 bet
    3
    0 Votes
    3 Posts
    2k Views
    T
    @SGaist Hi, thanks for the answere. I changed only this file: qt-src\qtbase\mkspecs\wince70embedded-armv4i-msvc2008\qmake.conf Only the CE_SDK define to my WEC SDK. Here is my file: include(../common/wince/qmake.conf) CE_SDK = iMX6_SABRE_SDP_WEC7_SDK # replace with actual SDK name CE_ARCH = armv4i DEFINES += QT_NO_CLIPBOARD QT_NO_ACCESSIBILITY QT_NO_NATIVE_GESTURES QT_NOSTANDARDSHELL_UI_MODEL _CRT_SECURE_NO_DEPRECATE _WIN32_WCE=0x700 $$CE_ARCH AMRV7 armv7 ARM QMAKE_LFLAGS_CONSOLE = /SUBSYSTEM:WINDOWSCE,7.00 /MACHINE:THUMB QMAKE_LFLAGS_WINDOWS = /SUBSYSTEM:WINDOWSCE,7.00 /MACHINE:THUMB QMAKE_LFLAGS_DLL = /SUBSYSTEM:WINDOWSCE,7.00 /MACHINE:THUMB /DLL /SAFESEH:NO QMAKE_LIBFLAGS_RELEASE = /LTCG QMAKE_LIBS = corelibc.lib coredll.lib QMAKE_LIBS_CORE = corelibc.lib ole32.lib oleaut32.lib uuid.lib commctrl.lib coredll.lib winsock.lib QMAKE_LIBS_GUI = ceshell.lib ole32.lib $$QMAKE_LIBS_CORE QMAKE_LIBS_NETWORK = ws2.lib $$QMAKE_LIBS_GUI QMAKE_LIBS_OPENGL = QMAKE_LIBS_COMPAT = QMAKE_LIBS_OPENVG = libopenvg.lib QMAKE_LIBS_OPENGL_ES2 = libEGL.lib libGLESv2.lib QMAKE_RC = rc [link text](link url) QMAKE_COMPILER_DEFINES -= _MSC_VER=1400 QMAKE_COMPILER_DEFINES += _MSC_VER=1500 [link text](link url)
  • 0 Votes
    1 Posts
    1k Views
    No one has replied
  • How to select wifi for ftp transfers?

    3
    0 Votes
    3 Posts
    993 Views
    H
    @PieterB Hello. QSocket class have metod which can chose web interface for connect. Use it. QFtp inheritate after QScocket.
  • Wayland Qt api, wl_display_connect("wayland-1");

    1
    0 Votes
    1 Posts
    831 Views
    No one has replied
  • 1 Votes
    3 Posts
    2k Views
    fecubF
    Connect your phone with your computer. Activate debbuging on your phone. Start DDMS on your Computer launch the application again and read the error message which is in DDMS shown. It's difficult to say what is wrong.
  • 0 Votes
    2 Posts
    821 Views
    M
    Maybe this guide will help on Windows CE: http://wiki.qt.io/Deploy_an_Application_on_Windows What error message do you get when you try to start the application?