2009-08-27 2 views
0

Bearbeiten: Gelöst.Wie verbinde ich einen Slot um QProcess :: started() in Qt zu signalisieren?

Hallo, ich beginne mit Qt, ich versuche, einen Steckplatz zu verbinden Signal QProcess::started() kann aber nicht. QObject::connect() gibt false zurück.

Irgendeine Idee was mache ich falsch?

Hier ist ein Teil des Codes:


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 
} 

Ich weiß, dass der Prozess erfolgreich gestartet wird, weil ich process->WaitForStarted() versucht, und es gibt true. Aber ich habe einen Haltepunkt auf dem Steckplatz foo::process_started() und es wird nie getroffen. Was ist das Problem hier? Danke!

Antwort

6

Sie haben vergessen, Q_OBJECT in Ihrer Klassendeklaration zu setzen. Ohne dieses Schlüsselwort weiß moc nicht, dass es Metaobjekt-Informationen für Ihre Klasse generieren muss.

+0

Das war's, danke! – Petruza

Verwandte Themen