2009-08-27 13 views
0

Modifier: Résolu.Comment connecter un emplacement au signal QProcess :: started() dans Qt?

Bonjour, je commence par Qt, j'essaie de connecter un slot au signal QProcess::started() mais je ne peux pas. QObject::connect() renvoie false.

Une idée de ce que je fais mal?

est ici une partie du code:


class foo : public QObject 
{ 
public: 
    QProcess *process; 

public slots: 
    void process_started(); 
} 

foo::foo() 
{ 
process = new QProcess(); 
bool status = QObject::connect(process, SIGNAL(started()), this, SLOT(process_started())); 
// status is false, meaning the slot and signal couldn't be connected 
} 

Je sais que le processus commence avec succès parce que j'ai essayé process->WaitForStarted() et il retourne true. Mais je mets un point d'arrêt à l'emplacement foo::process_started() et il ne se fait jamais frapper. Quel est le problème ici? Merci!

Répondre

6

Vous avez oublié de mettre Q_OBJECT dans votre déclaration de classe. Sans ce mot clé, moc ne sait pas qu'il doit générer des informations de métaobjet pour votre classe.

+0

Voilà, merci! – Petruza

Questions connexes