linux - QT可以打开一个Linux终端然后写入吗?

标签 linux qt terminal

我可以通过我的 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/

相关文章:

linux - 使用 SED 获取大型文本文件的最后 n 行

qt - PropertyAction 不适用于 "AnchorChanges"元素

terminal - 如何使用 perl6/rakudo 获取终端大小?

python - 终端关闭时应用程序关闭,如何停止?

c - 在 execvp 之前设置 gid,但 id 命令显示多个组

c - linux中sleep命令的使用

linux - archlinux 上的诺基亚 QT SDK

qt - 带有 Qt 函数 cv::erode() 和 cv::dilate() 的 OpenCV 崩溃

python:Windows终端中的unicode,使用的编码?

linux - 如何在嵌入式设备上实现网络服务?