[c++] GUI i procesy

0

witam, piszę prosty program GUI w QT który stworzy proces potomy i się zamknie razem z nim

#include<QApplication>
#include<QPushButton>
#include<QProcess>
#include<QString>
#include <QIODevice>
int main(int argc, char* argv[]){
QApplication app(argc,argv);
QProcess *myProcess = new QProcess();
     myProcess->start("/usr/local/Trolltech/Qt-4.3.1/examples/tutorial/t5/t5");
QObject::connect(myProcess,SIGNAL(finished()),&app,SLOT(quit()));
return app.exec();
}

w manualu do QT jest napisane że obiekty klasy QProcess emitują na zakończenie sygnał finished(); więc tworze jak wyżej połączenie że po wyemitowaniu sygnału program zostanie zamknięty... i co się okazuję ?
Object: No such signal QProcess::finished()
Object: (receiver name: 'Montaz')
przeczytałem manuala 1000 razy, ten sygnał na pewno istnieje. Więc czemu do #$%&^$% pojawia się ten błąd :-[

0

a grepnij po katalogu z przykladami bo przyklady na uzycie tego sa.

// wydaje mi sie , ze bedziesz musial dziedziczyc po Qprocess i odpowiednio samemu emitowac sygnal, np. w destruktorze.

0

Nie napisales, ktore QT uzywasz, zakladam, ze 4.3.
Nie ma w klasie QProcess funkcji funished(), jest void finished(int, QProcess::ExitStatus)
Zrob cos w ten desen jak ponizej i uzyj tej klasy w main:

class myProcess
{
QProcess *_proc;
public:
myProcess() { QProcess *_proc = new QProcess(); _proc->start("/usr/..."); 
QObject::connect(_proc,SIGNAL(finished(int, QProcess::ExitStatus)),this,SLOT(koniec(int, QProcess::ExitStatus))); }

public slots:
void koniec(int, QProcess::ExitStatus) { QCoreApplication::exit(0); }
}
0

aaa teraz nieco się horyzonty przetarły :) dziękuję !

1 użytkowników online, w tym zalogowanych: 0, gości: 1