Qt怎么实现一个进程运行另一个进程
发表于:2025-01-19 作者:千家信息网编辑
千家信息网最后更新 2025年01月19日,这篇"Qt怎么实现一个进程运行另一个进程"文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇
千家信息网最后更新 2025年01月19日Qt怎么实现一个进程运行另一个进程
这篇"Qt怎么实现一个进程运行另一个进程"文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇"Qt怎么实现一个进程运行另一个进程"文章吧。
1. 一个进程运行另一个进程
Qt 的 QProcess 类用来启动一个外部程序并与其进行通信。
使用 start() 函数运行一个进程,之后 QProcess 进入 Starting 状态;
当程序已经运行后,QProcess 就会进入 Running 状态并发送 started() 信号;
当进程退出后,QProcess 重新回到 NoRunning 状态并发射 finished() 信号。
2. 例程代码
mainwindow.h
#ifndef MAINWINDOW_H#define MAINWINDOW_H#include#include namespace Ui {class MainWindow;}class MainWindow : public QMainWindow{ Q_OBJECTpublic: explicit MainWindow(QWidget *parent = 0); ~MainWindow();private slots: void on_pushButton_clicked(); void showResult(); void showState(QProcess::ProcessState state); void showError(); void showFinished(int,QProcess::ExitStatus);private: Ui::MainWindow *ui; QProcess myProcess;};#endif // MAINWINDOW_H
mainwindow.cpp
#include "mainwindow.h"#include "ui_mainwindow.h"#include#include MainWindow::MainWindow(QWidget *parent) : QMainWindow(parent), ui(new Ui::MainWindow){ ui->setupUi(this); //添加信号和槽的关联 connect(&myProcess,&QProcess::readyRead,this,&MainWindow::showResult); connect(&myProcess,&QProcess::stateChanged,this,&MainWindow::showState); connect(&myProcess,&QProcess::errorOccurred,this,&MainWindow::showError); connect(&myProcess,SIGNAL(finished(int,QProcess::ExitStatus)), this,SLOT(showFinished(int,QProcess::ExitStatus)));}MainWindow::~MainWindow(){ delete ui;}void MainWindow::on_pushButton_clicked(){ //启动记事本程序,由于它在Windows的系统目录下,该目录已经加在了系统PATH环境变量中,所以不需要写具体路径 //myProcess.start("notepad.exe"); QString program = "cmd.exe"; QStringList arguments; arguments<<"/c dir&pause"; myProcess.start(program,arguments);}void MainWindow::showResult(){ QTextCodec * codec = QTextCodec::codecForLocale(); qDebug()<<"showResult: "< toUnicode(myProcess.readAll());}void MainWindow::showState(QProcess::ProcessState state){ qDebug()<<"showState: "; if(state == QProcess::NotRunning) { qDebug()<<"No Running"; } else if(state == QProcess::Starting) { qDebug()<<"Starting"; } else { qDebug()<<"Running"; }}void MainWindow::showError(){ qDebug()<<"showError:"< 以上就是关于"Qt怎么实现一个进程运行另一个进程"这篇文章的内容,相信大家都有了一定的了解,希望小编分享的内容对大家有帮助,若想了解更多相关的知识内容,请关注行业资讯频道。
进程
运行
内容
信号
状态
程序
文章
目录
知识
篇文章
系统
代码
价值
函数
变量
大部分
就是
更多
步骤
环境
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
软件开发公司如何找项目
热血传奇服务器丢失
禁毒教育科普展厅软件开发
对网络安全认识不够该如何整顿
win7时间服务器选择
js调用文件服务器异常
网络安全周的活动主题是
西子奥的斯服务器怎么看安全回路
招生数据库
猫脸捏脸数据库
数据库安全是什么
云服务器销售好做吗
黑科技闪耀互联网之光
浙江综合软件开发市场报价
滨州游戏软件开发公司有哪些
逯雷应用软件开发
江阴进口软件开发货源充足
数据库用什么软件开发
世界3服务器
网络安全一级考试在哪学
excel数据库查找品名
启动excel服务器失败
个性化软件开发维修
数据库功能区汇总按钮
柚子服务器
梦泪在王者荣耀中是哪个服务器的
微信小程序后端服务器更改
网络技术适用单位
替身小说软件开发
基于arm的web服务器