首页 > 其他分享 >QT笔记:Process库

QT笔记:Process库

时间:2024-07-06 11:19:44浏览次数:10  
标签:bat QT .. Process 笔记 进程 include

QT笔记:Process库

说明

​ QT 带有Process库用以在原有的进程中开一个新的线程或者其他进程来执行其他程序,这个库调用非常简单,这里给出一个创建一个分离进程来执行bat脚本的示例

示例

#include <QCoreApplication>
#include <QProcess>
#include <QThread>

int main(int argc, char *argv[])
{
    QCoreApplication a(argc, argv);
    QStringList arg=a.arguments();

    QString bat_file(".\\..\\..\\..\\tools\\after_build\\after_build.bat");

    arg.removeAt(0);
    qDebug()<<arg;
    arg[0].replace("/","\\");
    arg[1].replace("/","\\");

    QProcess process;

    process.startDetached("cmd.exe",(QStringList()<<"/c")+(QStringList()<<bat_file)+arg);
    //process.start("cmd.exe",(QStringList()<<"/c")+(QStringList()<<bat_file)+arg);

    //process.waitForFinished(-1);

    //qDebug()<<process.readAll();

    //a.exit(0);
    QThread::msleep(1000);
    //return a.exec();
    return 0;
}

问题记录

  1. 开启进程可以用分离形式和合并形式,这两种方式资料有很多,区别在于分离形式开的进程无法通过原来的信号槽机制与主进程进行交互
  2. 程序最后的return a.exec();是进入信号槽交互循环。只有在进入这个循环后调用exit终止主程序主程序才会终止。
  3. 对于命令行程序,由于不带退出按键的UI,如果想分离开启子进程后直接关闭主进程的话就不要进入信号槽交互循环,直接return即可。或者创建一个信号槽,进入循环后定时启动exit信号来退出a

标签:bat,QT,..,Process,笔记,进程,include
From: https://www.cnblogs.com/simpleGao/p/18287018

相关文章

  • QT笔记:BLE库
    QT笔记:BLE库说明QT自带蓝牙库,但是QT的蓝牙库又有很多坑,这里记录下安装QT蓝牙库​ 和其他模组类似,可以通过QT的维护工具进行添加,跟之前添加串口库类似。不过要注意,蓝牙库并不是独立存在,而是和NFC等组件统一在Connectivity库中。添加时需要检查仔细安装MSVC​ 在添加蓝牙库时......
  • 【Python】原创·基础·学习笔记1
         一、字面量二、变量三、注释四、数据类型1.数据类型的分类2.数据类型的转换3.数据类型查询type()语句五、标识符六、运算符七、字符串的定义  1.字符串的三种定义方式  2.引号的嵌套使用  3.使用转义字符八、字符串拼接九、字符......
  • 树莓派学习笔记18:IIC驱动_PCA9685(16路舵机驱动模块)
    今日继续学习树莓派4B4G:(RaspberryPi,简称RPi或RasPi)本人所用树莓派4B装载的系统与版本如下: 版本可用命令(lsb_release-a)查询:​​ Python版本3.7.3:​​ IIC驱动_PCA9685(16路舵机驱动模块)文章提供测试代码讲解,整体代码贴出、测试效果图目录 开启树......
  • 小红书达人笔记广告投放全攻略
    ......
  • 工作助手VB开发笔记(2)
    今天继续讲功能2.功能2.9开机自启设置程序随windows系统启动,其实就是就是将程序加载到注册表PublicSubStartRunRegHKLM()REMHKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Microsoft\Windows\CurrentVersion\Run'DimstrNameAsString=......
  • Arthas进阶-笔记
    《Arthas进阶》学习目标类和类加载器相关的命令monitor/watch/trace/stack等核心命令的使用火焰图的生成Arthas实战案例dump作用将已加载类的字节码文件保存到特定目录:logs/arthas/classdump/参数数名称参数说明class-pattern类名表达式匹配[c:]类所属......
  • 【QT】工程库引用
    创建多工程项目创建子项目UI窗体项目创建库工程项目引用库工程添加日志输出类5.1需要添加特殊配置,否则编译会报错5.2正确添加配置5.3日志正常输出5.4如果缺少5.1步骤,则报如下错误5.5如果添加了5.1步骤,还是报Theproce......
  • 【QT】异步处理
    自定义信号/槽触发(类似观察者模式)1.自定义类必须从QObject类或者是其子类进行派生2.在定义类的头文件中加入Q_OBJECT宏//自己新建类初始化配置#include<QObject>classDemo:publicQObject{//Q_OBJECT是一个宏,添加它才能正常使用Qt的信号和槽机制Q_OB......
  • 【网工】学习笔记1
    windows:ipconfigens40:和别人通信的网卡lo本地回环和自己通信的网卡ifconfigdown/up进程:运行起来的程序使用浏览器访问网站:http:电脑上的程序和网站上的程序之间的通信。主要用于服务器和客户端之间上传和下载文件一个很好用的写代码的软件......
  • 学习笔记——交通安全分析11
    目录前言当天学习笔记整理4信控交叉口交通安全分析结束语 前言#随着上一轮SPSS学习完成之后,本人又开始了新教材《交通安全分析》的学习#整理过程不易,喜欢UP就点个免费的关注趴#本期内容接上一期10笔记#最近确实太懒了,接受宝子们的批评,以后我会注意哒,虽然每天都有学......