Can't get QProcess::start() to work with QLineEdit's text()
-
I'm trying to make a front end for a program, and so I'm using QProcess, and specifically start(QString, QStringList). I managed to get output from:
start("/bin/tar --help"), but when I try to specify a QStringList for arguments (specifically, reading a QLineEdit through QLineEdit->text()), I get total silence from the QProcess.Here's a bit of my code:
@extraargs = new QLineEdit();
extraargs->setPlaceholderText("extra arguments");
QStringList testtwo;
testtwo << extraargs->text();
...
..
proc->start("/bin/ls", testtwo);
@
This returns silence. If testtwo were set using testtwo ="some string here" then it would work perfectly, but extraargs->text() doesn't seem to work. What am I doing wrong here? -
With the code you are showing, testtwo is empty.
@extraargs->setPlaceholderText("extra arguments");@
"extra arguments" being a place holder text, your QLineEdit content is empty
-
The string from your lineedit will be passed as one argument to /bin/ls. That gives rise to many interesting ways of failing:-)
E.g. "-alF test" in your lineedit, will be passed to /bin/ls as one argument, not two.
An empty string will also get passed as an empty argument. No idea what ls will do with any of those:)
-
Well yeah, the point is to have the user type something into QLineEdit, and then convert QLineEdit's contents into a QStringList somehow and pass it on to QProcess as an argument. Is there a better, more failproof way to do this?
/bin/ls without any arguments should at least output something, so with start("/bin/ls", extraargs), it should output something even when extraargs is empty, or malformed.