以下介绍QProcess类在使用过程中的方法以及注意事项:
QProcess的作用是在当前进程中创建一个新的进程,来调用外部程序处理完成一些任务而不影响本进程的继续执行,起用法如下:
1. 运用QProcess类创建新进程:
QProcess proc = new QProcess();
2. 链接进程退出时返回状态的槽函数:
QObject::connect(proc, SIGNAL(finished(int, QProcess::ExitStatus)), reciever, SLOT(onFinished(int, QProcess::ExitStatus)));
注意:QProcess::ExitStatus为非基本数据类型,链接信号槽是有可能不起作用,因此需要用QProcess::ExitStatus注册一个元对象类型,如下:
qRegisterMetaType<QProcess::ExitStatus>("QProcess::ExitStatus");这样Qt收到finished信号时才能正确转到相应的槽函数。
3. 启动新进程(另外一个可执行文件)
proc->start(execPath);
※execPath为可执行文件的路径,如果路径中带有空格,可用 "\"" + execPath + "\"" 进行处理,即让传入的路径本身为字符串。
※用 proc->start("\"" + execPath + "\""); 进行启动
注意:如果启动的进程需要传递参数,proc->
QProcess的作用是在当前进程中创建一个新的进程,来调用外部程序处理完成一些任务而不影响本进程的继续执行,起用法如下:
1. 运用QProcess类创建新进程:
QProcess proc = new QProcess();
2. 链接进程退出时返回状态的槽函数:
QObject::connect(proc, SIGNAL(finished(int, QProcess::ExitStatus)), reciever, SLOT(onFinished(int, QProcess::ExitStatus)));
注意:QProcess::ExitStatus为非基本数据类型,链接信号槽是有可能不起作用,因此需要用QProcess::ExitStatus注册一个元对象类型,如下:
qRegisterMetaType<QProcess::ExitStatus>("QProcess::ExitStatus");这样Qt收到finished信号时才能正确转到相应的槽函数。
3. 启动新进程(另外一个可执行文件)
proc->start(execPath);
※execPath为可执行文件的路径,如果路径中带有空格,可用 "\"" + execPath + "\"" 进行处理,即让传入的路径本身为字符串。
※用 proc->start("\"" + execPath + "\""); 进行启动
注意:如果启动的进程需要传递参数,proc->