убить qprocess с родителем

Это код для выполнения команды и возврата вывода.
Проблема в том, что если я убью testProcess, «пинг» продолжится.
Я пробовал также с

QObject *parent;
parent=new QObject;
myprocess *p;
p=new myprocess(parent);

Извините за мой английский

testProcess.h:

class myprocess : public QProcess{
Q_OBJECT
public:
myprocess( QObject *parent = 0 );
protected slots:
void readyOut();
void readyErr();
};

testProcess.cpp main:

myprocess *p;
p=new myprocess;

QObject::connect(p,SIGNAL(readyReadStandardOutput()),p,SLOT(readyOut()));
QObject::connect(p,SIGNAL(readyReadStandardError()),p,SLOT(readyErr()));

p->start("ping -t www.google.com");

p->waitForFinished(60000);

delete p;

2

Решение

Если вы хотите, чтобы ваш процесс закрывался при закрытии приложения, вы можете подключиться к основному приложению. aboutToQuit() сигнал. Это будет выглядеть примерно так

connect( QCoreApplication::instance(), SIGNAL(aboutToQuit()), p, SLOT(kill()));

Также есть terminate() слот в процессе, который может быть использован, но я думаю, kill() может быть более подходящим в вашей ситуации.

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]