首先,QProcess不能获取二级子进程的输入和输出

比如执行不了ssh,如果是使用ssh请参考我另一篇文章,QSsh的使用

这里以调用cmd为例

.h

#ifndef DIALOG_H
#define DIALOG_H#include <QDialog>namespace Ui {
class Dialog;
}class Dialog : public QDialog
{Q_OBJECTpublic:explicit Dialog(QWidget *parent = 0);~Dialog();private slots:void on_pushButton_clicked();void readSlot();void readError();private:Ui::Dialog *ui;QProcess process;
};#endif // DIALOG_H

.cpp

#include "dialog.h"
#include "ui_dialog.h"
#include <QProcess>
Dialog::Dialog(QWidget *parent) :QDialog(parent),ui(new Ui::Dialog)
{process.setProcessChannelMode(QProcess::ForwardedChannels);connect(&process, SIGNAL(readyRead()), this, SLOT(readSlot()));connect(&process, SIGNAL(readyReadStandardError()), this, SLOT(readError()));process.start("cmd");if(!process.waitForStarted()) {qDebug()<< "process error" <<                          QString::fromLocal8Bit(process.readAllStandardError());} else {qDebug()<<"process read"<<QString::fromLocal8Bit(process.readAllStandardOutput());}
}void Dialog::readSlot() {qDebug() << "can read line" << process.canReadLine();while(process.canReadLine()) {char output[1024];int ret = process.readLine(output,1023);QString tmpstr = QString::fromLocal8Bit(output);
//        emit senddata_sign(tmpstr);qDebug() << "tmpstr" << tmpstr;}
}void Dialog::readError() {qDebug()<< "read error" << QString::fromLocal8Bit(process.readAllStandardError());
}
//通过点击按钮进行命令写入
void Dialog::on_pushButton_clicked()
{qDebug() << "line edit" << ui->lineEdit->text();char*ch;QByteArray ba = (ui->lineEdit->text() + '\r' + '\n').toLatin1();ch = ba.data();process.write(ch);process.waitForBytesWritten(2000);
}

QProcess实现交互式命令相关推荐

  1. python交互式窗口怎么换行_Python多版本情况下四种快速进入交互式命令行的操作技巧

    原标题:Python多版本情况下四种快速进入交互式命令行的操作技巧 因为工作需求或者学习需要等原因,部分小伙伴的电脑中同时安装了Python2和Python3,相信在Python多版本的切换中常常会遇 ...

  2. 如何打开python的交互窗口-Python多版本情况下四种快速进入交互式命令行的操作技巧...

    原标题:Python多版本情况下四种快速进入交互式命令行的操作技巧 因为工作需求或者学习需要等原因,部分小伙伴的电脑中同时安装了Python2和Python3,相信在Python多版本的切换中常常会遇 ...

  3. 02_clickhouse安装,卸载,启动/关闭服务,交互式命令(数据库创建,数据导入,查询),批模式数据导入,MySQL接口操作ClickHouse,DBeaver可视化工具安装与使用(学习笔记)

    1 ClickHouse安装 安装文件清单 clickhouse-client-${version}.noarch.rpm clickhouse-common-static-dbg-${version ...

  4. 在Matlab命令窗口中执行,交互式命令操作就是在MATLAB命令行窗口中输入命令并执行。...

    交互式命令操作就是在MATLAB命令行窗口中输入命令并执行. 答:√ 中国大学MOOC: 一侧肾切除后,另一留存肾会长得更加硕大,这种生理现象称为 . 答:代偿 Street jazz 的编舞师都会有 ...

  5. 使用C#开发交互式命令行应用

    前言 如果你开发过vue应用,应该对其交互式命令行印象深刻: 它允许你无需任何编程经验,仅需回答问题,就可完成vue应用创建. 虽然作为.NETer,大部分情况下我们不会使用命令行,但是还是希望能用C ...

  6. 通过交互式命令从github拉取项目模板并创建新项目

    参考文档 Node.js 命令行程序开发教程 download-git-repo包从远程(GitHub, GitLab, Bitbucket)拉取文件到本地 commander.js包 在命令行中显示 ...

  7. redis 启动无输出_Git Bash 中执行交互式命令无响应

    众所周知的原因,Windows下的命令行工具CMD非常难用,所以大家一般用Git Bash作为替代品,但是有时候在其中执行一些命令会出现无响应(无输出结果.无报错信息)的现象,本文将给出该现象的原因及 ...

  8. Node交互式命令行工具开发——自动化文档工具

    转载自:小磊 https://segmentfault.com/a/1190000039749423 nodejs开发命令行工具,流程相对简单,但一套完整的命令行程序开发流程下来,还是需要下点功夫,网 ...

  9. 关于 在国产麒麟系统上使用QProcess配合管道命令执行shell命令获取预期结果输出失败 的解决方法

    若该文为原创文章,转载请注明原文出处 本文章博客地址:https://hpzwl.blog.csdn.net/article/details/126678079 红胖子(红模仿)的博文大全:开发技术集 ...

  10. python交互式命令_python实现定制交互式命令行的方法

    Python的交互式命令行可通过启动文件来配置. 当Python启动时,会查找环境变量PYTHONSTARTUP,并且执行该变量中所指定文件里的程序代码.该指定文件名称以及地址可以是随意的.按Tab键 ...

最新文章

  1. java.sql在哪_我的Java访问MS SQL的程序错在哪了?谢谢!
  2. pytorch nlp 语音识别任务如何进行数据加载
  3. 2020-12-4((ARM汇编)mov指令,LDR指令,LDR伪指令)
  4. if嵌套while循环语句_选考VB算法专题系列讲座13嵌套If和多分支语句
  5. NOIP模拟测试9「随·单·题」
  6. pod 挂载点 mysql_Pod挂载(Secret )
  7. java编写服务器_java编写一个简单的回射服务器
  8. 管理工作中的50点感悟
  9. java实现mysql增量备份_企业级MySQL备份原理
  10. mysql查找有小数点的数据_MySQL中查询中位数?
  11. EfficientDet训练自己的物体检测数据集
  12. bzoj 3632: 外太空旅行(随机)
  13. COM技术入门(1)
  14. Tcpip详解卷一第3章(2)
  15. 工作站Linux双显卡BIOS设置,在BIOS Setup里面设置双显卡机型的双显卡模式教程
  16. 计算机如何销账户用户,如何注销电脑用户账户 - 卡饭网
  17. 内存地址重映射的选项_ARM处理器重映射原理的分析与实现
  18. PHPStorm+Xdebug配置(phpStudy)
  19. Typora 常用快捷键
  20. php m403n安装错误,HP LaserJet M403n驱动

热门文章

  1. 【气温预测】基于matlab BP神经网络气温预测【含Matlab源码 714期】
  2. 史秀峰计算机网络技术与应用第二版,史秀峰版《计算机网络技术与应用》期中测试.doc...
  3. 机器学习cnn如何改变权值_五个机器学习悖论将改变您对数据的思考方式
  4. 磁盘剩余空间策略_Linux性能监控常用的命令:监控磁盘使用情况-df命令
  5. Latex:利用BibTeX批量导入参考文献
  6. webservice 安全性 对外_WebService的安全性讨论【身份识别】
  7. vue中 点击事件的写法_Vue父子组件状态同步的最佳方式
  8. python爱好者社区公众号历史文章合集_微信公众号历史文章爬取api
  9. java优化技巧_Java 性能优化的五大技巧
  10. java docker client_Docker Client (another java docker client api)