only one QPushButton with QWidget works
-
@k-str said in only one QPushButton with QWidget works:
Sorry, I made a mistake
What do you mean with that ?
-
Looks good. What is the exact error message you're getting when starting your application ?
-
@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
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? -
Do you mean that you have that error in a virtual machine ?
-
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 ?
-
@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 writeexport 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?
-
@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 writeexport 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?
-
@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@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 theQApplication
) you could use Qt'sqputenv()
to set that environment variable, e.g. perhaps if it is not already set to something so user can setDISPLAY
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. -
@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:
ScriptMyGDB
export DISPLAY=:0 gdbserver ??*full-path-of-appl*??
this means I have to start the script MyGDB by Qt-creator
-
@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:
ScriptMyGDB
export DISPLAY=:0 gdbserver ??*full-path-of-appl*??
this means I have to start the script MyGDB by Qt-creator
@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 yourgdbserver
? In which case inbash
script try:gdbserver "$1"
If it's in an envivironment variable:
gdbserver "$SOMEVARIABLE"
-
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?
-
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?
@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 goqt-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 theDISPLAY
environment variable very early, if it's not already set (useqgetetnv()
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. -
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?