qt调用Linux脚本范例,QT下实现对Linux Shell调用的几种方法

2023-11-05

使用QProcess QThread

============================================

#include

int main()

{

QProcess::execute("ls");

return 0;

}

============================================

QProcess *poc = new QProcess;

poc-> start( "ping 222.207.53.1> hh ");

打开hh文档 读取里面的内容给QTextEdit

============================================

QProcess *proc = new QProcess;

proc->addArgument("qmake");

proc->addArgument("-o");

proc->addArgument("/home/sjq/work/jobs/test6/test/Makefile");

proc->addArgument("/home/sjq/work/jobs/test6/test/cmd.pro");

if(proc->start())

{

cout<<"error"<<endl;

}

其中使用方法就在于对QProcess 的调用如

mkdir TEST

QProcess *proc = new QProcess;

proc->addArgument("mkdir");

proc->addArgument("TEST");

if(proc->start())

{

cout<<"error"<<endl;

}

============================================

另外的一种使用方法,一种交换

while ( proc-> isRunning())

{

stringOut = proc-> readLineStdout();

textEdit-> append( stringOut );

}

这样能读出来,但是不知道怎么停下来,在读的proc执行的过程中,窗口被冻结

最后用了qApp-> processEvents()来解决的

我再去研究研究pthread.

============================================

下面是使用Qthread的一种方法

===============================================

#include

#include

class MyThread : public QThread

{

public:

void run();

};

void MyThread::run()

{

QProcess::execute("service lighttpd restart");

}

int main()

{

MyThread *thread=new MyThread;

thread->start();

}

============================================

#include

#include

#include

#include

class MyThread : public QThread

{

public:

void run();

};

void MyThread::run()

{

QProcess *testc=new QProcess;

QString program = "rm";

QStringList arguments;

arguments << "./a.txt";

testc->start(program, arguments);

}

int main()

{

MyThread *thread=new MyThread;

thread->start();

}

细化操作--不打印显示任何的操作结

http://blog.csdn.net/taiyang1987912/article/details/46293929

时间: 08-16

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

qt调用Linux脚本范例,QT下实现对Linux Shell调用的几种方法 的相关文章

  • ubuntu18.04下mysql数据库安装和C语言连接操作

    数据库在应用系统开发中很常见 在众多的数据库中 mysql总是会占有一席之地 本篇说明一下如何在ubuntu18 04上安装mysql数据库 目录 1 更新环境 2 安装mysql数据库系统 3 检测是否安装成功 4 启动 重启 关闭 删除
  • CLion用于STM32开发

    最近想要复现稚晖君的ElectronBot 发现32的代码用的CLion编写的 而且是C和C 混编的 本来想着用keil再写一个 但是有点浪费时间 而且发现CLion学生可以白嫖 反正以后都要学习C 所以现在就装上吧 注 最终的效果只能下载
  • 克服过拟合和提高泛化能力的20条技巧和诀窍

    克服过拟合和提高泛化能力的20条技巧和诀窍 你是如何提升深度学习模型的效果 这是我经常被问到的一个问题 有时候也会换一种问法 我该如何提高模型的准确率呢 或者反过来问 如果我的网络模型效果不好 我该怎么办 通常我的回答是 具体原因我不清楚
  • 数据结构——查找

    一 查找的基本概念 查找 在数据集合中寻找满足某种条件的数据元素的过程称为查找 查找表 查找结构 用于查找的数据集合称为查找表 它由同一类型的数据元素 或记录 组成 关键字 数据元素中唯一标识该元素的某个数据项的值 使用基于关键字的查找 查
  • 智能合约安全分析,假充值攻击如何突破交易所的防御?

    智能合约安全分析 假充值攻击如何突破交易所的防御 引言 假充值攻击 是指攻击者通过利用交易所在处理充值过程中的漏洞或系统错误 发送伪造的交易信息到交易所钱包地址 这些伪造的交易信息被交易所误认为是真实的充值请求 并将对应的数字资产或货币添加
  • javascript判断数组和对象中是否存在某元素

    javascript判断数组和对象中是否存在某元素 判断数组 是否存在某个元素 可以用数组的indexOf函数 方法arr indexOf find start find 要找的内容 必须 start 查找开始下标 可选 返回 查找数据所在
  • 【Python】os.path.expanduser() 函数的理解和举例说明

    文章目录 一 函数说明 二 实例说明 一 函数说明 os path expanduser 是 Python 中 os path 模块中的一个函数 用于将路径字符串中的波浪线 扩展为用户的主目录 它的作用是提供跨平台的路径展开功能 使得路径可
  • HTML入门

    web前端 前端开发也叫web前端开发 它指的是基于web的互联网产品的页面 也可叫做界面 开发及功能开发 1 认识HTML HTML是Hyper Text Markup Language 超文本标记语言 的缩写 是构成web页面的基本元素
  • git clone 出现fatal: unable to access ‘https://github.com/xxx: Failed to connect to github.com

    问题描述 使用git clone命令时 出现如下错误 fatal unable to access https github com xxx Failed to connect to github com port 443 Timed ou
  • 多版本 Python 使用 pip 安装 package

    最简单的方式 使用参数指定安装路径 pip install t D python3 5 32bit Lib site packages numpy 叨叨叨 如果电脑上安装了多个版本的Python的话 在需要使用pip安装新package时
  • hive分区表的元数据信息numRows显示为0

    创建分区表 CREATE TABLE dept partition deptno int dname string loc string PARTITIONED BY
  • 2023牛客暑期多校训练营3

    A World Fragments I 将两个二进制数先转换成十进制数 因为只要二进制中有1 就加或减1 加减0是没有用的 所以求两个二进制的差的绝对值 这是在有1的情况下 其实只要不等于0就有1 数是非负整数 所以需要特判 如果第一个二进
  • 10种基于MATLAB的方程组求解方法

    线性方程组的求解包括直接法和迭代法 其中迭代法包括传统的高斯消元法 最速下降法 牛顿法 雅克比迭代法 共轭梯度法 以及智能启发式算法求解法和神经网络学习算法 传统算法可以相互组合改进 智能仿生启发式算法包括粒子群算法 遗传算法 模拟退火算法
  • R329-opencv阈值分割算法——自适应阈值

    R329 opencv阈值分割算法 自适应阈值 在不均匀照明或者灰度值分布不均的情况下 如果使用全局阈值分割 那么得到的分割效果往往会很不理想 这个时候就要你用到自适应阈值算法了 OpenCV提供了自适应的二值化函数 通过该函数可以对图像的
  • 如何使用网页版微信文件传输助手(图解教程)

    微信文件传输助手网页版是一款非常方便的工具 可以帮助我们在电脑和手机之间传输文件 而且不需要电脑登录微信即可传输文件 下面是具体的操作步骤 步骤一 打开多御浏览器 点击微信文件传输助手 然后使用微信扫描页面上的二维码 即可进入微信传输助手界
  • uniapp开发微信小程序初次加载弹窗显示隐私政策

    效果图 废话不多说 直接上代码
  • 计算机基础第三版知识点总结,计算机基础知识点归纳总结

    计算机等级考试作为当代大学生必考科目之一 它的基础知识点有哪些呢 以下是由出国留学网编辑为大家整理的 计算机基础知识点归纳总结 仅供参考 欢迎大家阅读 计算机基础知识点归纳总结 计算机的发展 类型及其应用领域 1 计算机 computer
  • 智能BI,如今走到了哪一步?

    我们现在需要的不仅是石油 更是如何使用好石油 作者 三七 编辑 皮爷 出品 产业家 错进 错出 这是美国税务局在1963年对数据质量提出的解释 以此来试图表达数据对于计算机处理结果质量的重要性 这一观点的源头来自 计算机之父 查尔斯 巴贝奇
  • 常见erp系统

    ERP系统是提供决策手段的管理平台 很多的企业都有使用 那么常见的ERP系统都有哪些呢 像国内外最常见的ERP系统有鼎捷ERP系列 SAP Oracle 博科 泛普软件 Infor QAD QAD Adaptive 等 鼎捷ERP系统 鼎捷

随机推荐

  • 三种常见DDOS攻击应对策略

    DDos防御需要根据不同的攻击类型和不同的攻击方式指定对应的策略才能达到最有效的防御 常见的DDos包括 Flood CC和反射等 1 flood攻击 Flood类的攻击最常见并简单有效 黑客通过控制大量的肉鸡同时向服务器发起请求 进而达到
  • 一篇文章搞定克拉美罗界(CRB)

    起因 二郎最近在研究LBL 长基线 定位 大部分论文都提到了文中算法获得的方差接近CRB 所以自己的算法性能较好 于是二郎就想知道克拉美罗界是什么意思 以及能应用的场景 经过 1 查文档 克拉美罗界 为无偏估计量的方差确定一个下界 衡量无偏
  • 详细安装配置django

    安装配置使用Django 1 下载安装 django pip install django 2 创建设置项目 先进入要放置项目的文件夹下 2 1 创建项目 django admin startproject Api project 2 2
  • 万兆以太网选择6类线还是6A类线?

    在综合布线中 有些时候必不可免的需要用到万兆铜缆以太网 那么这个时候就会产生一个问题 就是线缆的选型 6类线和6A类线都可以支持到万兆以太网 那么究竟是选择成本较为低廉的6类线还是选择规格更高一些的6A类线缆 6类线与6A类线的区别 起初
  • Cordic算法

    Cordic算法可以利用简单的移位和加减来计算复杂的三角函数 双曲函数 对数 指数等 Cordic算法核心思想有两点 通过已知的角度来逼近输入的角度 用移位来代替tan 已知角度的cos 经过多次积累相乘趋于常数 具体原理如下 根据坐标旋转
  • 怎么委婉的拒绝别人

    其实拒绝别人最难的那个是自己 有心理负担 导致很多人不能说 不 多少次后悔答应别人了 但是也不能没有技巧的拒绝别人 如果没有思考过 那么也会让自己后悔自己做的不合适 方法不对 怎么去拒绝别人呢 需要掌握好技巧和心理分析然后坦然的拒绝别人是这
  • 关于Mybatis一对多查询以及返回一条记录的经验总结

    前人经验 关于一对多返回一条的问题 原因是在于多张表有列名相同的字段 如果在数据库中使用连接操作 如 INNER JOIN LEFT JOIN RIGHT JOIN 等 进行连接时 列名有相同的字段 则在连接结果集中 这些列名相同的字段会被
  • c:forEach status.index 行索引的使用

    使用seam做了个项目 展示一个自定义列表输出 分别定义表格标题List headerList和数据List
  • 浅谈云计算的三种服务模式:IaaS,PaaS和SaaS

    2008年 云计算的概念由Google率先提出 短时间内其核心理念在全球范围内迅速传播并发展 2010年在国内形成趋势 各大IT互联网商业巨头将目光聚焦在云计算 至目前 云计算在中国已经慢慢开始成熟起来 云计算指的是通过网络 云 将巨大的数
  • python从入门到精通——完整教程【转载】

    文章目录 一 pycharm下载安装 二 python下载安装 三 pycharm上配置python 四 配置镜像源让你下载嗖嗖的快 4 1 pycharm内部配置 4 2 手动添加镜像源 4 3 永久配置镜像源 五 插件安装 比如汉化 5
  • ios逆向(二)frida-ios-dump一键砸壳详细版

    写在前面 本教程为本人实际操作记录 在此感谢庆哥官方 一条命令完成砸壳 github frida ios dump ios端配置 打开cydia 添加源 https build frida re 打开刚刚添加的源 安装 frida 安装完成
  • 注册表关闭windows安全中心_关闭win10自动更新的三个小妙招,再也不用被自动下载更新打扰了...

    对于Windows 10操作系统 微软默认设置为自动下载并安装Windows 以确保系统正常运行并保持其安全性 但是在某些情况下 需要关闭Windows 10更新或在Windows 10上禁用自动更新安装 这该如何办呢 本文目录 关于Win
  • Linux系统中文件查找find函数用法

    find name april 在当前目录下查找以april开始的文件 find name april fprint file 在当前目录下查找以april开始的文件 并把结果输出到file中 find name ap o name may
  • JAVA导入txt文件并按行读取内容封装成实体以及导出下载

    业务背景 前台页面支持用户上传txt类型的文件 用做一些服务的配置 我们需求将改文件解析 读取里面的内容 并封装成接口参数 再调第三方接口 上代码 PostMapping uploadHost RequiresRoles admin pub
  • p9plus升级鸿蒙教程,华为P9 Plus(VIE-AL10 全网通 EMUI 5.0)一键ROOT图文详解教程

    伴随着安卓刷机越来越流行 很多安卓用户都喜欢上了这种可以自定个性系统的行为 那么华为P9 Plus VIE AL10 全网通 EMUI 5 0 怎么获取ROOT权限 华为P9 Plus VIE AL10 全网通 EMUI 5 0 一ROOT
  • IMEI、IMSI、ICCID、SN是什么?意义和区别?通信模组或手机的唯一识别码

    最近在做几个4G移动端的产品 初入行门有很多生涩的名词 想获取一个全球唯一ID作为设备后台管理编号 就扯出了 IMEI IMSI ICCID SN 这几个东西 IMEI IMEI 国际移动设备识别码 International Mobile
  • 如何正确理解三极管的放大区、饱和区、截止区

    作为电子初学者来说 模拟电路非常重要 模拟电路的三极管的应用是重中之重 能正确理解三极管的放大区 饱和区 截止区是理解三极管的标志 很多初学者都会认为三极管是两个 PN 结的简单凑合 如下图 这种想法是错误的 两个二极管的组合不能形成一个三
  • 多线程和高并发介绍

    多线程和高并发介绍 文章目录 多线程和高并发介绍 前言 一 什么是多线程 1 多线程介绍 2 多线程实现原理 3 白话文解释多线程 4 多线程存在的问题 二 什么是高并发 1 高并发介绍 2 如何提升系统的并发能力 三 多线程和高并发 总结
  • es6对象多层解构、数组解构

    对象类 基础对象解构 const obj a 1 b 2 c 3 const a b c obj console log a b c 1 2 3 多层对象解构 const obj a 1 b 2 c 3 d d1 4 const a b c
  • qt调用Linux脚本范例,QT下实现对Linux Shell调用的几种方法

    使用QProcess QThread include int main QProcess execute ls return 0 QProcess poc new QProcess poc gt start ping 222 207 53