Important: Please read the Qt Code of Conduct - https://forum.qt.io/topic/113070/qt-code-of-conduct

Qt Widget läuft nicht auf einem RPI3 mit LCD-Display



  • Re: Grafische Anwendung auf raspberry mit LCD-Display

    Hallo,
    ioch habe schon vor einiger Zeit dieses Thema gepostet.
    Da habe ich von @sneubert eine gute Lösung bekommen. Danke nochmal dafür an @sneubert !
    Jetzt ist das Thema bei mir nochmal hochgekommen, denn ich arbeite mit einem neuen LCD-Display, das aber die gleiche schnittstelle hat:
    QUIMAT 3.5" HDMI Display-B.
    Nachdem ich den Qt-Creator für cross-compiling erneut aufgesetzt habe bekomme ich ein ähnliches Problem.
    Momentan verwende ich einen Raspi3 mit Buster
    Qt 5.12.5 läuft auf einen Ubuntu 18.04.3 Host.
    Ich kann zwar das Widget vom Qt-Creator erstellen und es wird auch auf dem LCD-Display angezeigt, aber das Programm erkennt die Eingabe mit dem Pen des Touch-Screen nicht.
    Wenn ich den Qt-Creator (mit Qt 5.11.3 auf dem Raspberry direkt installieren und das Widget erstelle, dann funktioniert das problemlos.
    Vielen Dank für Eure Hilfe!



  • Hallo,
    hier noch die Fehlermeldungen die ich beim Starten eines Widgets bekomme sowie die Kommandos für das Einrichten des Raspberry und Linux Hostes::

    • Zunächst kommt mal diese Warnung:
      qglobal.h:45:12: error: 'type_traits' file not found
      mainwindow.cpp:1:1: note: in file included from /home/kurt/Widget/mainwindow.cpp:1:

    Beim Starten des Widgets bekomme ich diesen Fehler:

    • Unable to query physical screen size, defaulting to 100 dpi.
    • To override, set QT_QPA_EGLFS_PHYSICAL_WIDTH and QT_QPA_EGLFS_PHYSICAL_HEIGHT (in millimeters).
    • Attribute Qt::AA_ShareOpenGLContexts must be set before QCoreApplication is created.

    Was heist das in der letzten Zeile? Muß ich da was konfigurieren in dem Module "main.cpp"?
    Und nun wird zwar das Widget angezeigt aber die Eingabe über den Touch-Screen wird nicht erkannt.

    Hier der update auf dem Raspberry:

    echo -e ${Green}"first make rpi-update"${Reset}
    sudo rpi-update
    sudo reboot
    
    sudo apt-get update
    sudo apt-get build-dep qt4-x11
    sudo apt-get build-dep libqt5gui5
    sudo apt-get inst~all libudev-dev libinput-dev libts-dev libxcb-xinerama0-dev libxcb-xinerama0
    sudo apt-get install ttf-dejavu gdbserver 
    echo -e ${Green}"Prepare target folder"${Reset}
    sudo mkdir /usr/local/qt5pi
    sudo chown pi:pi /usr/local/qt5pi
    

    und auf dem Linux Host:

    ssh-keygen -t rsa -C pi@192.168.180.42 -N "" -f ~/.ssh/id_rsa
    cat ~/.ssh/id_rsa.pub | ssh -o StrictHostKeyChecking=no pi@192.168.180.42 "mkdir -p .ssh && chmod 700 .ssh && cat >> .ssh/authorized_keys"
    
    echo -e ${Green}"Install packages"${Reset}
    sudo apt-get install git python build-essential --yes
    
    echo -e ${Green}"Create working folder and set a toolchain"${Reset}
    mkdir ~/raspi
    cd ~/raspi
    git clone https://github.com/raspberrypi/tools
    
    
    echo -e ${Green}"Create and configure a sysroot"${Reset}
    mkdir sysroot sysroot/usr sysroot/opt
    
    rsync -avz pi@192.168.180.42:/lib sysroot
    rsync -avz pi@192.168.180.42:/usr/include sysroot/usr
    rsync -avz pi@192.168.180.42:/usr/lib sysroot/usr
    rsync -avz pi@192.168.180.42:/opt/vc sysroot/opt
    
    echo -e ${Green}"adjust our symbolic links in sysroot to be relative"${Reset}
    wget https://raw.githubusercontent.com/riscv/riscv-poky/master/scripts/sysroot-relativelinks.py
    chmod +x sysroot-relativelinks.py
    ./sysroot-relativelinks.py sysroot
    
    echo -e ${Green}"Download Qt"${Reset}
    wget http://download.qt.io/official_releases/qt/5.12/5.12.5/single/qt-everywhere-src-5.12.5.tar.xz
    tar xvf  qt-everywhere-src-5.12.5.tar.xz
    cd  qt-everywhere-src-5.12.5
    
    echo -e ${Green}"Configure Qt for cross compilation"${Reset}
    ./configure -release -opengl es2 -device linux-rasp-pi-g++ -device-option CROSS_COMPILE=~/raspi/tools/arm-bcm2708/gcc-linaro-arm-linux-gnueabihf-raspbian-x64/bin/arm-linux-gnueabihf- -sysroot ~/raspi/sysroot -opensource -confirm-license -skip qtwayland -skip qtlocation -skip qtscript -make libs -prefix /usr/local/qt5pi -extprefix ~/raspi/qt5pi -hostprefix ~/raspi/qt5 -no-use-gold-linker -v -no-gbm
    
    echo -e ${Green}"run 'make -j4'"${Reset}
    make -j4
    
    echo -e ${Green}"run 'make install'"${Reset}
    make install
    echo -e ${Green}"eploye to your Raspberry Pi using the rsync command"${Reset}
    cd ~/raspi
    rsync -avz qt5pi pi@192.168.180.42:/usr/local
    

    Vielleicht hilft das bei der Analyse des Problems.
    Vielen Dank!


Log in to reply