• QT:在qt中使用QProcess类执行tar指令


    Qt提供了一个QProcess类用于启动外部程序并与之通信。这个类是异步工作的,而且在后台执行,这样用户界面就可以始终保持响应。

    QProcess::start()与QProcess::execute()都能完成启动外部程序的任务,二者有什么区别呢?区别在于start()是非阻塞的,而execute()是阻塞的。专业点讲,execute()=start()+waitforFinished()。

            //3、执行tar指令
            QProcess pTar;
            QString program = "tartool";
            QStringList arguments;
    
            QString sourceDir = armFileName;//+"/*";
            sourceDir = QDir::toNativeSeparators(sourceDir);
            QString tarGetDirName = armAppTarName;
            tarGetDirName = QDir::toNativeSeparators(tarGetDirName);
            arguments << sourceDir << tarGetDirName << "armApp.tar.gz";
            QString showTar = arguments.join(" ");
            showMsg("执行[tartool "+showTar+"]");
            //执行
            //QDir::setCurrent(armFileName);
            int res = pTar.execute(program,arguments);
            if(!res)
            {
               showMsg("执行成功");
            }
            pTar.close();    
    

      

  • 相关阅读:
    求最大的矩形(悬线法)
    限制不互素对的排列(构造)
    括号(构造)
    G. 4.奶牛(二进制枚举)
    新飞行棋(上楼梯)
    小天狼星的访问
    欧拉筛线性筛法,约数和和约数个数
    Find The Multiple
    How Many O's? UVA
    GCD LCM UVA
  • 原文地址:https://www.cnblogs.com/jiangyu0331/p/14346412.html
Copyright © 2020-2023  润新知