QProcess使用
QProcess可以用于启动外部程序,具有两种方式。
- 一体式:QProcess::start 方法。
外部程序启动后,将随主程序的退出而退出。 貌似要使用QProcess的close方法才可以关闭启动的外部程序。
- 分离式:QProcess::startDetached 方法。
外部程序启动后,当主程序退出时并不退出,而是继续运行。
1、start使用
Qt头文件:#include
void start(const QString &program, const QStringList &arguments, OpenMode mode = ReadWrite); 1、program:启动外部应用程序的路径。不包含空格,包含空格需要在arguments中传入 2、arguments:传入待启动外部程序的参数,即:int main(int argc, char *argv[])这里的参数。
除了使用start 方法之外还可以使用:
1、设置启动外部应用程序的路径 QString program() const; void setProgram(const QString &program); 2、传入待启动外部程序的参数,即:int main(int argc, char *argv[])这里的参数。 QStringList arguments() const; void setArguments(const QStringList & arguments); 3、使用start或者open打开外部程序 void start(OpenMode mode = ReadWrite); bool open(OpenMode mode = ReadWrite) Q_DECL_OVERRIDE;
使用start后,主程序退出时,外部程序不会关闭是的解决方法:
使用void close() Q_DECL_OVERRIDE;在主程序退出的时候调用close即可结束启动的外部进程。
发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/205694.html原文链接:https://javaforall.net
