1、QProcess 打开一个bash终端,可以执行一般的命令,主要实现步骤如下

m_proces_bash = new QProcess;
m_proces_bash->start("bash");
m_proces_bash->waitForStarted();
connect(m_proces_bash,SIGNAL(readyReadStandardOutput()),this,SLOT(readBashStandardOutputInfo()));
connect(m_proces_bash,SIGNAL(readyReadStandardError()),this,SLOT(readBashStandardErrorInfo()));

2、向终端发送命令

void MainWindow::on_pushButton_bashrun_clicked()
{QString strCmd = ui->lineEdit_bashcmd->text();ui->textEdit_bashmsg->append("Linux:~$ "+strCmd);m_proces_bash->write(ui->lineEdit_bashcmd->text().toLocal8Bit() + '\n');ui->lineEdit_bashcmd->clear();
}

3、接收终端返回

void MainWindow::readBashStandardOutputInfo()
{QByteArray cmdout = m_proces_bash->readAllStandardOutput();if(!cmdout.isEmpty()){ui->textEdit_bashmsg->append(QString::fromLocal8Bit(cmdout));}QScrollBar* scroll = ui->textEdit_bashmsg->verticalScrollBar();scroll->setSliderPosition(scroll->maximum());
}
void MainWindow::readBashStandardErrorInfo()
{QByteArray cmdout = m_proces_bash->readAllStandardError();if(!cmdout.isEmpty()){ui->textEdit_bashmsg->append(QString::fromLocal8Bit(cmdout));}QScrollBar* scroll = ui->textEdit_bashmsg->verticalScrollBar();scroll->setSliderPosition(scroll->maximum());
}

4、当命令需要超级权限时,sudo xx 需要修改为sudo -S xx

例如:(1)ls 执行正常

(2)sudo ls 执行失败

(3)执行sudo -S ls 执行成功

Qt QProcess执行Linux 命令行的方法相关推荐

  1. java 执行linux命令行_10个高效Linux技巧及Vim命令对比

    专注于Java领域优质技术,欢迎关注 作者:vimtutor 来自:Vim教程网 Vim的很多命令和功能与Linux系统的命令和功能及其相似,可以说是一脉相承.Vim教程网(https://vimjc ...

  2. perl脚本执行linux命令行,Perl调用shell命令方法小结

    一.system perl也可以用system调用shell的命令,它和awk的system一样,返回值也是它调用的命令的退出状态. 代码如下: [root@AX3sp2 ~]# cat aa.pl ...

  3. Unity 内部执行cmd命令行

    概述 有些情况下我们需要在 unity 中借助命令行来执行某些特殊操作: 当然,不建议把这种方法用在其他奇怪的地方: 实现方式是使用 c#自带的 System.Diagnostics 库来实现运行 c ...

  4. Linux命令行上执行操作,不退回命令行的解决方法

    问题描述: 如果你现在登录Centos执行了某个操作,但是操作一直占用命令行,命令行显示的也都是这个命令相关的操作,我想做其它事情 ,该怎么办呢 ? 解决方法: 根据<Linux命令行与Shel ...

  5. linux下运行python_在Linux命令行终端中使用python的简单方法(推荐)

    Linux终端中的操作均是使用命令行来进行的.因此,对于小白来说,熟记几个基本的命令行和使用方法能够较快的在Linux命令行环境中将python用起来. 打开命令行窗口 打开命令行窗口的快捷键如下: ...

  6. Linux命令行下常用svn命令的使用方法[转自:www.hackbase.com]

    本文讲述了Linux命令行下常用svn命令的使用方法,希望对您有所帮助. 1.Linux命令行下将文件checkout到本地目录 svn checkout path(path是服务器上的目录) 例如: ...

  7. linux命令图片,使用Linux命令行查看图像的方法有哪些

    今天小编要跟大家分享的文章是关于使用Linux命令行查看图像的方法有哪些?在 Linux 中有很多 GUI 应用程序可以查看图像,但是这对经常使用命令行来工作的人可能会觉得很繁琐.今天小编要为大家介绍 ...

  8. linux php 指令,在 Linux 命令行中使用和执行 PHP 代码(一)

    PHP是一个开源服务器端脚本语言,最初这三个字母代表的是"Personal Home Page",而现在则代表的是"PHP:Hypertext Preprocessor& ...

  9. windows下学习linux,在Windows环境下学习Linux命令行的几种方法

    Linux高手通常将Windows工作平台的人鄙视得一无是处, 其实这完全没有必要.请不要装. 对于想进军linux的人来说, 学好linux命令行无疑是最基本的东西. 本文讲述如何在Windows环 ...

最新文章

  1. jar java classpath_win7中java编程工具安装 java环境变量设置
  2. 卓瑞机器人_校企合作专业共建记涪陵职教中心机器人专业中泰学术交流活动
  3. Generator + Promises, the best of all worlds in ES6
  4. 『原创』+『参考』使用WMI在C#下获取U盘的永久不变的物理序列号
  5. Android深度探索--HAL与驱动开发----第十章读书笔记
  6. python join_python join 和 split的常用使用方法
  7. halcon学习(算子汇总)
  8. hj212协议数采仪_CEMS系统配套用环保数采仪 HJ212协议上传
  9. a = 3 中3在栈还是堆_阳台要不要装推拉门?纠结3次后还是装错了,返工中
  10. IT人士十大不良饮食习惯及改进建议
  11. 个人知识管理系统Version1.0开发记录(07)
  12. 好烦,一封报警邮件,大量服务节点 redis 响应超时,又得要捉“虫”!
  13. HTML5响应式手机模板:【超炫购物模板】——仿拍鞋网商城手机网站模板( HTML+CSS+JavaScript) 企业手机网站模板...
  14. android 歌曲的流派信息,音乐流派分类介绍.doc
  15. 一文看懂STM32单片机和51单片机区别
  16. java爬小说_java爬虫实战开发小说网站
  17. u-boot使用bootargs给内核传参数
  18. 【有限位移旋量理论】罗德里格旋转公式(Rodrigues Rotation Formula)
  19. python调整图片亮度_python 调整图片亮度的示例
  20. 新一代三维GIS技术体系再升维

热门文章

  1. android 学习链接大集合
  2. python计算现场得分_浅谈用 Python 计算文本 BLEU 分数
  3. linux驱动read函数 copytouser,Linux驱动编程 step-by-step (五)主要的文件操作方法实现...
  4. php email 发送,php 发送 Email
  5. java 凑整_Java语言中的取整运算(包括截尾取整,四舍五入,凑整)? – 日记
  6. C++ 高级数据类型(五)—— 数据结构
  7. C++ 学习基础篇(一)—— C++与C 的区别
  8. _attribute_((packed))
  9. yarn安装依赖包报错 error An unexpected error occurred: “https://registry.npm.taobao.orgnpm/element-ui: get
  10. [react-router] React-Router 4怎样在路由变化时重新渲染同一个组件?