C++ [Qt] Signal-Slot-Verbindung bei eigener Klasse

~ba

Cadet 2nd Year
Registriert
Dez. 2010
Beiträge
24
Hallo,

ich erhalte bei meinem Qt-GUI-Projekt einen Fehler, den ich nicht nachvollziehen kann, wenn ich ein Signal in einer eigenen Klasse mit einem Standard-Slot einer QProgressBar verbinden möchte.

Ich verwende den folgenden Code:
PHP:
//eigeneKlasse.h
#include <QThread>

using namespace std;

class eigeneKlasse: public QThread
{
	Q_OBJECT 
public:
	eigeneKlasse(einigeParameter);
	einigeFunktionen();
	~eigeneKlasse();

private:
	eigenePrivateFunktionen();

signals:
	void maximumProgress(int);
	void momentanerWertProgress(int);
};

PHP:
//mainwindow.cpp
#include "mainwindow.h"
#include "ui_mainwindow.h"
#include "eigeneKlasse.h"
#include <QObject>

eigeneKlasse eigenesObjekt(einigeParameter);
ui->progressBar->connect(eigenesObjekt, SIGNAL(maximumProgress(int)), ui->progressBar, SLOT(setMaximum(int)));
ui->progressBar->connect(eigenesObjekt, SIGNAL(momentanerWertProgress(int)), ui->progressBar, SLOT(setValue(int)));

Hier erhalte ich jedoch nun den Fehler:
Code:
error: no matching function for call to 'QProgressBar::connect(eigeneKlasse&, const char*, QProgressBar*&, const char*)'
candidates are: static bool QObject::connect(const QObject*, const char*, const QObject*, const char*, Qt::ConnectionType)
                bool QObject::connect(const QObject*, const char*, const char*, Qt::ConnectionType) const

Ich vermute, dass das Problem beim ersten Parameter liegt, das heißt, meinem Objekt. Da ich dieses aber als Subklasse von QThread definiere, die QObject erbt, müsste doch auch das Objekt meiner Klasse die Eigenschaften von QObject erben, oder liege ich hier falsch?

Vielen Dank im Voraus für Antworten.
 
versuchs mal mit :
ui->progressBar->connect(&eigenesObjekt, SIGNAL(maximumProgress(int)), ui->progressBar, SLOT(setMaximum(int)));

eigenesObjekt ist kein pointer sondern ein object, erwartet wird aber ein pointer ...
 
Danke, das hat den Fehler behoben.
Ich war mir leider ziemlich sicher, dass ich das schon ausprobiert hatte…
 

Ähnliche Themen

Zurück
Oben