温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

qt如何启动和终止进程

发布时间:2022-01-13 15:21:14 来源:亿速云 阅读:193 作者:iii 栏目:大数据

本篇内容介绍了“qt如何启动和终止进程”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!

进程通信的范围非常大,也有很多的方法。其中的有些方法甚至可以单独成书。本系列使用几个小程序进行尽量简单的说明。今天首先说明启动和终止另外一个进程。

被调用端代码

int main(int, char*[])
{
   string msg;
   while(msg != "BYE")
   {
       cin >> msg;
       transform(msg.begin(), msg.end(),
                 msg.begin(), ::toupper);
       cout << msg << endl;
   }
}

代码很简单,从标准输入读入字符串,转换为大写,然后输出。

如果输入的字符串转为大写以后是“BYE”则程序退出。

调用端代码

int main(int /*argc*/, char */*argv*/[])
{
    QProcess server;
    server.start("G:\\Qt\\21070809 ProcessComm\\ServerProcess\\bin\\debug\\ServerProcess.exe"
                 ,QStringList());
     if (!server.waitForStarted())
        return false;
     server.write("bye");
    server.closeWriteChannel();
     if (!server.waitForFinished())
        return false;

    QByteArray result = server.readAll();
    cout << result.constData();
    return 0;
}

看不全的部分是文件名,不用太在意。

这部分代码利用了QT的QProcess类来操作进程。大致分为以下几步:

  1. 指定文件名和参数调用start方法来启动一个进程

  2. 调用waitForStarted方法来等待进程启动成功

  3. 向进程写入“bye”字符串,指示线程退出

  4. 关闭写通道

  5. 调用waitForFinished方法等待线程退出

  6. 取得进程返回的数据并输出,这里我们可以得到一个“BYE”

这个例子程序包含了进程操作通信的基本要素,是今后一段时间实例的基础。

“qt如何启动和终止进程”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注亿速云网站,小编将为大家输出更多高质量的实用文章!

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

qt
AI