Seite 1 von 1

[gelöst] Problem mit SLOT [no such slot]

Verfasst: 8. April 2011 09:15
von Lichter
Guten Morgen,
ich habe leider ein Problem mit einem SLOT.
Wenn ich das Projekt mit qmake und anschließendem nmake erstelle, wird der SLOT erfolgreich ausgeführt. Starte ich das Projekt allerdings direkt von der IDE ( Visual Studio 2008 Express), erhalte ich folgende Meldung:
Object::connect: No such slot Window::DialogAccepted() in .\MainWindow.cpp:42
Object::connect: (sender name: 'Dialog')
Object::connect: (receiver name: 'MainWindow')

Mein Connect sieht folgendermaßen aus:

Code: Alles auswählen

QObject::connect(dialog, SIGNAL(accepted()),
			this, SLOT(DialogAccepted()));
Die Connect Funktion steht in dem Konstruktor der Klasse Window der folgendermaßen aussieht:

Code: Alles auswählen

Window::Window(QMainWindow *parent) :	
		QMainWindow(parent)
{	
setupUi(this);
dialog = new Dialog_add;
QObject::connect(dialog, SIGNAL(accepted()),
			this, SLOT(DialogAccepted()));
}
In der SLOT Funktion steht das:

Code: Alles auswählen

void Window::DialogAccepted()
{
	
		
	QMessageBox::information(NULL,"Test", "Test erfolgreich", QMessageBox::Ok);
}
Beim Debugging wird übrigens false für connect zurückgegeben.
Was übersehe ich bzw. wo liegt der Fehler?
Wie gesagt funktioniert der SLOT, wenn ich das ganze über qmake erstelle.

Das QObject Makro ist in der Klasse vorhanden.

Verfasst: 8. April 2011 09:55
von Christian81
Q_OBJECT vergessen, nicht als slot definiert, ...

Verfasst: 8. April 2011 10:01
von Lichter
Christian81 hat geschrieben:Q_OBJECT vergessen, nicht als slot definiert, ...
Hallo,

ein Auszug aus der Klasse:

Code: Alles auswählen

class Window : public QMainWindow, private Ui::MainWindow
{
	Q_OBJECT
             Window(QMainWindow *parent = 0);
public slots:
		void DialogAccepted();
};


Verfasst: 8. April 2011 10:46
von TSS
Wird qmake denn überhaupt aufgerufen, wenn du das Projekt aus der IDE kompilierst?

Verfasst: 8. April 2011 11:32
von Lichter
Konnte das Problem lösen, indem ich mit qmake ein neues .vcproj Projekt erstellt habe! Dort funktioniert der SLOT nun und ich kann es von der IDE starten.