[gelöst] Slot Problem in subclass
Verfasst: 30. Juni 2012 20:03
Hallo,
Ich konnte mein Problem nicht über google oder Forumssuche lösen, daher meine Frage zu diesem Problem:
Ich habe eine Klasse MainWindow und eine Klasse Convert.
Convert wird in MainWindow(typisch QTcreator) wie folgt benutzt:
Convert sieht so aus:
getProgress gibt einfach progress aus (return progress).
Mein Problem jetzt ist, dass Finished niemals aufgerufen wird. Es werden auch keine Fehler ausgegeben, ich merke es nur dadran, dass sich mein Programm aufhängt und ein qDebug in Finished() auch nie ausgegeben wird.
Meine Convert() sieht so aus:
Und do() beinhaltet lediglich
Also ich weiß, das der QProcess gestartet und abgeschlossen wird (sehe ich an der Ausgabe des gestarteten Prozesses, jedoch wird wie gesagt nie der SLOT Finished geladen, also nie progress = 100 gesetzt.
Danke schon mal
MfG,
fer
Ich konnte mein Problem nicht über google oder Forumssuche lösen, daher meine Frage zu diesem Problem:
Ich habe eine Klasse MainWindow und eine Klasse Convert.
Convert wird in MainWindow(typisch QTcreator) wie folgt benutzt:
Code: Alles auswählen
Funktion(){
Convert mConvert(x,y,z);
mConvert.do();
while(mConvert.getProgress() < 100){
mach was...
}
}Code: Alles auswählen
class Convert : public MainWindow
{
Q_OBJECT
public:
explicit Convert(QStringList, QString, short);
~Convert();
void do(void);
int getProgress();
private:
QProcess* cProcess;
int progress;
private slots:
void Finished();
};Mein Problem jetzt ist, dass Finished niemals aufgerufen wird. Es werden auch keine Fehler ausgegeben, ich merke es nur dadran, dass sich mein Programm aufhängt und ein qDebug in Finished() auch nie ausgegeben wird.
Meine Convert() sieht so aus:
Code: Alles auswählen
cProcess = new QProcess;
connect(this->cProcess, SIGNAL(finished(int)), this, SLOT(Finished()));Code: Alles auswählen
cProcess->start("xyz");Danke schon mal
MfG,
fer