linux下的qt可以调用脚本吗,QT下实现对Linux Shell调用的几种方法

使用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

Qt下存储读写应用程序设置的三种方法

一.简介 用户对应用程序经常有这样的要求:要求它能记住它的settings,比如窗口大小.位置和密码等等.有三种方法可以实现: 使用注册表: 使用配置文件(.ini): 使用自定义文件(例如.txt) ...

用 Python 脚本实现对 Linux 服务器的监控

目前 Linux 下有一些使用 Python 语言编写的 Linux 系统监控工具 比如 inotify-sync(文件系统安全监控软件).glances(资源监控工具)在实际工作中,Linux 系统 ...

用 Python 脚本实现对 Linux 服务器的网卡流量监控

*这篇文章网上已经有相关代码,为了加深印象,我做了相关批注,希望对朋友们有帮助 工作原理:基于/proc文件系统 Linux 系统为管理员提供了非常好的方法,使其可以在系统运行时更改内核,而不需要重新 ...

&lpar;转&rpar;Linux基础------Shell数值计算的几种方法

Linux基础------Shell数值计算的几种方法 原文:http://blog.csdn.net/fu_wayne/article/details/21620639 在Linux下总会遇到数值计 ...

linux shell获取show slave status方法

linux shell获取show slave status方法

#!/bin/basharray=($(mysql -u数据库账号 -p数据库密码 -e "show s ...

linux安装软件的几种方法----linux下编译安装软件的一般步骤

linux安装软件的几种方法: 一.rpm包安装方式步骤: 1.找到相应的软件包,比如soft.version.rpm,下载到本机某个目录: 2.打开一个终端,su -成root用户: 3.cd so ...

执行shell脚本的几种方法及区别

执行shell脚本的几种方法及区别 http://blog.csdn.net/lanxinju/article/details/6032368 (认真看) 注意:如果涉及到脚本之间的调用一定要用 . ...

利用Linux系统生成随机密码的10种方法【转】

Linux操作系统的一大优点是对于同样一件事情,你可以使用高达数百种方法来实现它.例如,你可以通过数十种方法来生成随机密码.本文将介绍生成随机密码的十种方法. 1. 使用SHA算法来加密日期,并输出结 ...

在Linux文件清空的几种方法

在Linux文件清空的几种方法 1.使用重定向的方法 [root@centos7 ~]# du -h test.txt 4.0K test.txt [root@centos7 ~]# > tes ...

随机推荐

【译】ASP&period;NET应用程序和页面生命周期

为何翻译此文 一.此文是Code Project社区2010年4月ASP.NET板块的最佳文章,说明了此文的份量: 二.锻炼自己的英文技术文章翻译能力,提高英文技术文档阅读能力: 三.了解掌握ASP. ...

PHP学习笔记:万能随机字符串生成函数(已经封装好)

做验证码用到的,然后就把这个函数封装起来,使用时候要设置2个参数: $str设置里要被采集的字符串,比如: $str='efasfgzsrhftjxjxjhsrth'; 则在函数里面生成的字符串就回从 ...

程序员必备:Oracle日常维护命令

上一篇讲了Linux的日常维护命令,这篇讲讲Oracle的日常维护命令.工作中需要使用Oracle数据库的童鞋们,相信或多或少都需要对Oracle做一些基本的维护操作,例如导入导出总该有吧?( ...

wpf采用Xps实现文档显示、套打功能&lpar;原创&rpar;

近期的一个项目需对数据进行套打,用户要求现场不允许安装office.页面预览显示必须要与文档完全一致,xps文档来对数据进行处理.Wpf的DocumentView 控件可以直接将数据进行显示,xps也 ...

XSLT学习

XSL 语言 XSL(eXtensible Stylesheet Language)是可扩展样式表语言,是一种用于以可读格式呈现 XML(标准通用标记语言的子集)数据的语言. XSL与xml CSS ...

自己写的sql排序

create function dbo.Fn_Sort (  @str varchar(1024) ) returns nvarchar(100) as begin declare @tb table ...

STM32精确延迟1us和1ms的函数

STM32精确延迟1us和1ms的函数 延迟1us: /************************************************************************ ...

F - Count the Colors ZOJ - 1610 线段树染色(染区间映射)

题意:给一段0-8000的线段染色 问最后 颜色x 有几段 题解:标准线段树  但是没有push_up  最后查询是单点按顺序查询每一个点 考虑过使用区间来维护不同的线段有多少种各色的线段  思路是 ...

HTML学习笔记Day16

一.CSS 3D 1.什么是3d的场景呢? 2d场景,在屏幕上水平和垂直的交叉线x轴和y轴 3d场景,在垂直于屏幕的方法,相对于2d多出个z轴 Z轴:靠近屏幕的方向是正向,远离屏幕的方向是反向 2.C ...

ubuntu windows10 in GPT HDD GRUB Boot

some thing wrong with my input, I can just use English  -_-!!! The HDD have two kinds of formart, GP ...

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值