设为首页 加入收藏

TOP

QT下实现对Linux Shell调用的几种方法 QProcess AND QThread
2014-11-24 03:22:26 来源: 作者: 【 】 浏览:0
Tags:实现 Linux Shell 调用 方法 QProcess AND QThread

使用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();
}


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


总结的时候参考了网的的大家的一些做法:)


】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇线程+定时实现Linux下的Qt串口编程 下一篇嵌入式Linux上QT标准键盘输入的实..

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容:

·如何利用Python做数 (2025-12-24 23:48:36)
·如何使用python进行 (2025-12-24 23:48:34)
·python 爬虫入门该怎 (2025-12-24 23:48:31)
·Java 实现多个大文件 (2025-12-24 23:22:00)
·Java多线程编程在工 (2025-12-24 23:21:56)