I have to run a system command in Qt. but I have to give an argument for that command.
for example opening gedit with a text file. like "gedit /home/oDx/Documents/a.txt"
but the path "/home/oDx/Documents/a.txt" will be in a variable like "docPath". so how can i do it!?
start("gedit", QStringList() << "/home/oDx/Documents/a. txt");
@grullo said in Run command line from Qt app in linux: QString cmdline = ". /home/grullo/xmip-bundle/build/xmipp. bashrc"; I guess the initial dot (".") is making your command line relative, so that path is not found when set the working directory.
The "Qt command prompt" is nothing but the standard Windows command prompt (aka "CMD.exe"), but with the PATH environment variable prepended by the Qt "bin" path. This means you can just enter any Qt program without a full path, because the command prompt will find it via PATH.
QProcess process; process.start("gedit", QStringList() << docPath);
the same as above
QProcess process; process.start("gedit", QStringList() << "/home/oDx/Documents/a.txt");
Also, read this.
QProcess::execute() may be helpful:
QProcess::execute("gedit /home/oDx/Documents/a.txt"));
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With