bash befehl ausführen und ausgeben!
-
wie kann ich, bash befehl ausführen und ausgeben!?
C++z.B
bash befehl "uname -m ", ergibt ergebnis "x86_64" dieser ergebnis soll in QLineEdit ausgeben "ui->VersText->setText(C"????" );"
-
-
@gerasifbesmumu Hast du "Communicating via Channels" Kapitel gelesen? Verbinde einen Slot mit readyReadStandardOutput() und lese stdout von dem Prozess mit https://doc.qt.io/qt-6/qprocess.html#readAllStandardOutput
-
@gerasifbesmumu könnte man ja.
-
@gerasifbesmumu Warum sollte ich?
Hast überhaupt versucht es selber zu machen? -
@jsulm said in bash befehl ausführen und ausgeben!:
@gerasifbesmumu Warum sollte ich?
Hast überhaupt versucht es selber zu machen?ja ich habe versucht,
klappt nicht! -
@gerasifbesmumu Dann zeig den Code und sag uns was genau nicht funktioniert
-
#include <QProcess> #include <QString> QProcess *proc = new QProcess(this); QString cmd = "uname -n"; connect(proc, SIGNAL(readyReadStandardOutput()), this, SLOT(readOutput())); proc->start("/bin/bash", QStringList() << "-c" << cmd); proc->waitForFinished();
hier rein
ui->VersText->setText(**?????**);
-
@gerasifbesmumu
Also muessen Sie das slotreadOutput()
schreiben, umsetText()
zu ruefen.Oder hier koennen Sie:
proc->start("/bin/bash", QStringList() << "-c" << cmd); proc->waitForFinished(); QByteArray ba = proc->readAllStandardOuput(); ui->VersText->setText(ba);
(Möglicherweise müssen Sie zwischen
QByteArray
undQString
konvertieren, umsetText()
zu aufrufen.)