我可以通过我的 QT 代码打开一个终端:
QProcess流程;
process.start("xterm"); process.waitForFinished(-1);
但是我不知道如何向它写入命令?
我需要这样做,因为我希望我的应用通过 SSH 连接设备,然后在登录后编写命令并查看输出。
我也愿意接受其他解决方案!
谢谢
最佳答案
QProcess 有一个写命令,但您不想调用 waitForFinished。
QProcess proc;
proc.start("xterm");
proc.waitForStarted();
proc.write(someData, dataSize);
如果你想要终端的响应,连接一个插槽到 readyRead() 信号
// Qt 5 syntax
connect(proc &QProcess::readyRead, this, &MyClass::readData());
然后从您的 readData 插槽函数中调用其中一个读取函数,例如 readAll()。
关于linux - QT可以打开一个Linux终端然后写入吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19982665/