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"????" );" -
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"????" );" -
@jsulm
das ist klar, das mit "QProcess" lauftwie krieg ich ergebnis in "QLineEdit" ?
-
@jsulm
das ist klar, das mit "QProcess" lauftwie krieg ich ergebnis in "QLineEdit" ?
@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 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
@jsulm kannst du mir einfach code geben ?
-
@jsulm kannst du mir einfach code geben ?
@gerasifbesmumu könnte man ja.
-
@jsulm kannst du mir einfach code geben ?
@gerasifbesmumu Warum sollte ich?
Hast überhaupt versucht es selber zu machen? -
@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! -
@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
-
@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(**?????**); -
#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
QByteArrayundQStringkonvertieren, umsetText()zu aufrufen.)