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. only one QPushButton with QWidget works
Forum Updated to NodeBB v4.3 + New Features

only one QPushButton with QWidget works

Scheduled Pinned Locked Moved Unsolved Mobile and Embedded
39 Posts 5 Posters 5.8k Views 3 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.
  • K-StrK Offline
    K-StrK Offline
    K-Str
    wrote on last edited by K-Str
    #21

    @SGaist ,
    there are no errors when I run the application. Only warnings during startup as I wrote eight days ago.
    Now I install everything new because I have some big troubles with the network running a virtual machine (=Hyper-V). I install it now on oracles virtual box.
    I will see what happens after this.
    It's crazy!!
    Now I have an other problem after a new installation:
    It seems to be a configuration failure:
    When I start the application I get a problem.
    What means this? does it miss an egl module?

    Process /opt/TestWidget/bin/TestWidget created; pid = 2877
    qt.qpa.egldeviceintegration: Failed to load EGL device integration "eglfs_brcm"
    EGL library doesn't support Emulator extensions
    

    and a window appears
    0_1567779970953_Bildschirmfoto vom 2019-09-06 16-23-51.png

    I find no real help in the internet.
    I use a MPI3508 LCD HDMI display on my raspberry3.
    Maybe my current configuration cannot handle it.
    Please has somebody an answer?

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

      Do you mean that you have that error in a virtual machine ?

      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
      • K-StrK Offline
        K-StrK Offline
        K-Str
        wrote on last edited by K-Str
        #23

        @SGaist ,
        no I think something went wrong during the installation.
        What mmeans this:
        Failed to load EGL device integration "eglfs_brcm"

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

          It's getting a bit fuzzy here. You seem to have issues both with your desktop machine and RaspberryPi.

          Can you do a small summary of what is going on and where exactly ?

          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
          • K-StrK Offline
            K-StrK Offline
            K-Str
            wrote on last edited by K-Str
            #25

            @SGaist , hello to all;
            I'm sorry for the delay, but I made some investigation.
            It seems to have just a little problem:
            When I start the application local on the terminal then I first have to write

            export  DISPLAY:=0
            

            Then it works with a warning

            libEGL warning: DRI2: failed to authenticate
            

            Is there a way to add this command

            export DISPLAY=:0
            

            automaticially before I run the application?

            jsulmJ 1 Reply Last reply
            0
            • K-StrK K-Str

              @SGaist , hello to all;
              I'm sorry for the delay, but I made some investigation.
              It seems to have just a little problem:
              When I start the application local on the terminal then I first have to write

              export  DISPLAY:=0
              

              Then it works with a warning

              libEGL warning: DRI2: failed to authenticate
              

              Is there a way to add this command

              export DISPLAY=:0
              

              automaticially before I run the application?

              jsulmJ Offline
              jsulmJ Offline
              jsulm
              Lifetime Qt Champion
              wrote on last edited by
              #26

              @k-str You can write a simple shell script which first sets the env variable and then calls your app and then use this script to start the app.

              https://forum.qt.io/topic/113070/qt-code-of-conduct

              1 Reply Last reply
              1
              • K-StrK Offline
                K-StrK Offline
                K-Str
                wrote on last edited by
                #27

                @jsulm ,
                thanks for your answer!
                Yes I know there was somthing like this but I have no Idea how such a script looks.
                Where can I find an example? It should wor also for debugging

                JonBJ 1 Reply Last reply
                0
                • K-StrK K-Str

                  @jsulm ,
                  thanks for your answer!
                  Yes I know there was somthing like this but I have no Idea how such a script looks.
                  Where can I find an example? It should wor also for debugging

                  JonBJ Offline
                  JonBJ Offline
                  JonB
                  wrote on last edited by JonB
                  #28

                  @k-str
                  Two lines in the script:

                  export DISPLAY=:0
                  full-path-or-plain-name-of-your-executable
                  

                  If you need it for debugging too, change second line to:

                  full-path-or-plain-name-of-your-debugger   full-path-or-plain-name-of-your-executable
                  

                  Assuming your mobile is like Linux (I know nothing about mobiles), if you go

                  chmod +x the-script
                  

                  then the-script is ready to execute.

                  Alternatively, and better if it works:

                  I do not know when your program needs that DISPLAY environment variable set, how early on after start up. If it is literally as soon as as it loads then you will have to set the environment variable before invocation. But if it's not, say, until you first try to create the UI, before that (before creating the QApplication) you could use Qt's qputenv() to set that environment variable, e.g. perhaps if it is not already set to something so user can set DISPLAY if needed but your code defaults it to :0 it it is not defined. Doing it this way, if possible, would get rid of the need to have a script wrapper.

                  1 Reply Last reply
                  1
                  • K-StrK Offline
                    K-StrK Offline
                    K-Str
                    wrote on last edited by K-Str
                    #29

                    @JonB ,
                    thanks for your answer,
                    Is it also possible to start a script where you can pass the full path application?
                    Maybe a script which gets the application in a environment variable or so. E.g ??full-path-of-appl??* is the environment variable:
                    Script

                    MyGDB
                    
                    export DISPLAY=:0
                    gdbserver ??*full-path-of-appl*??
                    

                    this means I have to start the script MyGDB by Qt-creator

                    JonBJ 1 Reply Last reply
                    0
                    • K-StrK K-Str

                      @JonB ,
                      thanks for your answer,
                      Is it also possible to start a script where you can pass the full path application?
                      Maybe a script which gets the application in a environment variable or so. E.g ??full-path-of-appl??* is the environment variable:
                      Script

                      MyGDB
                      
                      export DISPLAY=:0
                      gdbserver ??*full-path-of-appl*??
                      

                      this means I have to start the script MyGDB by Qt-creator

                      JonBJ Offline
                      JonBJ Offline
                      JonB
                      wrote on last edited by JonB
                      #30

                      @k-str
                      Don't follow your question. In a script you can do whatever you could do from the command-line. If you mean: can a script access environment variables, or can a script examine and pass on arguments passed to it, the answer to both is yes.

                      You need to look at the documentation of whatever shell you are using for its scripting syntax. If you're Linux the standard one these days is bash, I don't know if that applies to whatever mobile. In your question I wonder if you're asking if you can pass an argument to the script on the command line and then pass it on to your gdbserver? In which case in bash script try:

                      gdbserver "$1"
                      

                      If it's in an envivironment variable:

                      gdbserver "$SOMEVARIABLE"
                      
                      1 Reply Last reply
                      1
                      • K-StrK Offline
                        K-StrK Offline
                        K-Str
                        wrote on last edited by
                        #31

                        @JonB ,
                        this looks very good. I will try it tomorrow.
                        Thanks a lot!

                        1 Reply Last reply
                        0
                        • K-StrK Offline
                          K-StrK Offline
                          K-Str
                          wrote on last edited by K-Str
                          #32

                          Hi @JonB ,
                          thanks for your tip but I cannot find a way how to do this.
                          Is there a way to execute a program by Qt-Creator by running a bash-script on the target machine (=raspberry)?
                          It should look like :

                          #!/bin/bash
                          export DISPLAY=:0
                          ??run or debug** <*application*>??
                          

                          Maybe this is a new topic?

                          JonBJ jsulmJ 2 Replies Last reply
                          0
                          • K-StrK K-Str

                            Hi @JonB ,
                            thanks for your tip but I cannot find a way how to do this.
                            Is there a way to execute a program by Qt-Creator by running a bash-script on the target machine (=raspberry)?
                            It should look like :

                            #!/bin/bash
                            export DISPLAY=:0
                            ??run or debug** <*application*>??
                            

                            Maybe this is a new topic?

                            JonBJ Offline
                            JonBJ Offline
                            JonB
                            wrote on last edited by
                            #33

                            @k-str
                            I don't know because I don't use Qt Creator! You should look at wherever it documents its command line arguments, maybe you go qt-creator project-pro-file?

                            Having said that, I would advise you again to consider what I have suggested about not having to use a separate script file and instead making your code use qputenv() to set the DISPLAY environment variable very early, if it's not already set (use qgetetnv() for that), if you can make that work. Your life will be easier for both development and release if you do not have a separate wrapper.

                            1 Reply Last reply
                            0
                            • K-StrK K-Str

                              Hi @JonB ,
                              thanks for your tip but I cannot find a way how to do this.
                              Is there a way to execute a program by Qt-Creator by running a bash-script on the target machine (=raspberry)?
                              It should look like :

                              #!/bin/bash
                              export DISPLAY=:0
                              ??run or debug** <*application*>??
                              

                              Maybe this is a new topic?

                              jsulmJ Offline
                              jsulmJ Offline
                              jsulm
                              Lifetime Qt Champion
                              wrote on last edited by
                              #34

                              @k-str There is no need for this script work around when running in QtCreator: go to Projects/Build & Run/Run and add the DISPLAY variable there in "Run Environment".

                              https://forum.qt.io/topic/113070/qt-code-of-conduct

                              1 Reply Last reply
                              1
                              • K-StrK Offline
                                K-StrK Offline
                                K-Str
                                wrote on last edited by
                                #35

                                @jsulm ,
                                thanks, this sounds quiet easy! But I cannot find the point "Run Environment" where I can insert DISPLAY=:0.
                                See screenshot:
                                0_1568300283359_Screenshot from 2019-09-12 16-50-55.png

                                JonBJ jsulmJ 2 Replies Last reply
                                0
                                • K-StrK K-Str

                                  @jsulm ,
                                  thanks, this sounds quiet easy! But I cannot find the point "Run Environment" where I can insert DISPLAY=:0.
                                  See screenshot:
                                  0_1568300283359_Screenshot from 2019-09-12 16-50-55.png

                                  JonBJ Offline
                                  JonBJ Offline
                                  JonB
                                  wrote on last edited by JonB
                                  #36

                                  @k-str
                                  I don't use Qt Creator, but I think you need to scroll down on that dialog on the right, did you not try that?

                                  1 Reply Last reply
                                  1
                                  • K-StrK K-Str

                                    @jsulm ,
                                    thanks, this sounds quiet easy! But I cannot find the point "Run Environment" where I can insert DISPLAY=:0.
                                    See screenshot:
                                    0_1568300283359_Screenshot from 2019-09-12 16-50-55.png

                                    jsulmJ Offline
                                    jsulmJ Offline
                                    jsulm
                                    Lifetime Qt Champion
                                    wrote on last edited by
                                    #37

                                    @k-str Scroll down...

                                    https://forum.qt.io/topic/113070/qt-code-of-conduct

                                    1 Reply Last reply
                                    0
                                    • K-StrK Offline
                                      K-StrK Offline
                                      K-Str
                                      wrote on last edited by K-Str
                                      #38

                                      @jsulm, hi to all,
                                      I'm sorry, but I think I made some failures.
                                      I checked everything and I think the problem is the LCD hardware.
                                      I use one

                                      • QUIMAT 3.5"
                                      • HDMI Display-B
                                      • 480x320 Dots V1.2
                                      • type MPI3508
                                      • pen interface SPI

                                      Maybe this cannot handle EGL mode.
                                      Which plugin should I use for this LCD display?
                                      I configered xcb but this is not ok. See below.
                                      Now I installed Qt completely new using this instructions:
                                      [https://wiki.qt.io/RaspberryPi2EGLFS]
                                      and also some modifications from here;
                                      [https://forum.qt.io/topic/83700/raspberry-pi-3-compile-with-x11-eglf-not-wanted]
                                      The configuration command is:

                                      ./configure -release -no-eglfs -qt-xcb -xcb -device linux-rasp-pi3-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 -make libs -prefix /usr/local/qt5pi -extprefix ~/raspi/qt5pi -hostprefix ~/raspi/qt5 -v -no-use-gold-linker
                                      

                                      But I still get errors

                                      qt.qpa.plugin: Could not find the Qt platform plugin "eglfs" in ""
                                      This application failed to start because no Qt platform plugin could be initialized. Reinstalling the application may fix this problem.
                                      
                                      Available platform plugins are: linuxfb, minimal, offscreen, vnc, xcb.
                                      

                                      Are there instructions how to configure xcb or linuxfb or one of the above mentioned plugins

                                      1 Reply Last reply
                                      0
                                      • K-StrK Offline
                                        K-StrK Offline
                                        K-Str
                                        wrote on last edited by K-Str
                                        #39

                                        Hello,
                                        I give up to install Qt Creator for remote development. It's like "Sisyphean task".
                                        Now I installed Qt on my Raspberry and here I try to do my work.
                                        I use the RemoteDesktop.
                                        It seems it works for me.
                                        Thanks a lot to all helpers.

                                        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