1

我可以通过我的 QT 代码执行此操作来打开终端:

QProcess流程;

process.start("xterm"); process.waitForFinished(-1);

但是我不知道如何向它写入命令?

我需要这样做,因为我希望我的应用程序对设备进行 ssh,然后在登录后编写命令并查看输出。

我也对其他解决方案持开放态度!

谢谢

4

1 回答 1

1

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()。

于 2013-11-14T16:18:49.867 回答