ich bi leider Anfängerin Sachen QT Programmierung und habe ein Problem bei dem ich nicht weis wie ich es lösen soll.
Wenn ichauf einen Button drücke soll sich die cmd.exe öffnen, und dann der Pfad geändert werden (später soll auch ein Rückgabewert gelesen werden).
Also Button programmiert mit folgendem Code:
Code: Alles auswählen
void MainWindow::openCMD()
{
QObject *parent;
ui->spinBox->setValue(54);
QString program = "cmd.exe";
QStringList arguments = QStringList();
arguments<<"cmd.exe -boardname=ST-LINK -Port=USB -Device=STM32F401xE -ProgMode=SWD -FilePorg=Nucleo.hex";
QProcess *p = new QProcess(this);
p->start(program);
// p->waitForFinished(3000);
p->write("p");
p->close();
}
Wenn ich aber startdetached schreibe, dann geht die Konsole auf nur kann ich dann mit dem Befehl write nichts in die Konsole schreiben.
Könnt ihr einem Anfänger ein wenig helfen?
Di Dokumentation von QProcess hilft mir leider auch nicht weiter.
EDIT::::
So hab schonmal einiges hinbekommen, auch die Ausgabe in einem PlainTextEdit Feld
Code: Alles auswählen
QProcess *p = new QProcess(this);
p->setProcessChannelMode(QProcess::MergedChannels);
p->start(program, QIODevice::ReadWrite);
// p->readAllStandardOutput();
while(p->waitForReadyRead())
output.append(p->readAll());
ui->plainTextEdit->insertPlainText(output.data());
Das Programm wird aufgerufen aber er meldet das er die Datei nucleo.hex nicht findet:
Configuration:
BoardName=ST-LINK ST-LINK_ID=0 Device=STM32F401xE Port=USB ProgMode=SWD
>>> Filling PROGRAM MEMORY image in computer with Blank Value
<<< Filling PROGRAM MEMORY image in computer succeeds
>>> Loading file nucleo.hex in PROGRAM MEMORY image in computer
(API) ERROR : No such file or Directory
Wenn ich aber die Konsole manuell öffne, i das Verzeichnis wechsle und das Programm mit den gleichen Parametern aufrufe funktioniert alles (Die Datei liegt im gleichen Verzeichnis)
Hat jemand eine Ahnung was das sein könnte?
Grüße Chris