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

Alles rund um die Programmierung mit Qt
Antworten
Lichter
Beiträge: 23
Registriert: 20. Januar 2011 12:48

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

Beitrag 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.
Zuletzt geändert von Lichter am 8. April 2011 11:40, insgesamt 1-mal geändert.
Christian81
Beiträge: 7319
Registriert: 26. August 2004 14:11
Wohnort: Bremen
Kontaktdaten:

Beitrag von Christian81 »

Q_OBJECT vergessen, nicht als slot definiert, ...
MfG Christian

'Funktioniert nicht' ist keine Fehlerbeschreibung
Lichter
Beiträge: 23
Registriert: 20. Januar 2011 12:48

Beitrag 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();
};

TSS
Beiträge: 73
Registriert: 24. November 2009 15:40
Kontaktdaten:

Beitrag von TSS »

Wird qmake denn überhaupt aufgerufen, wenn du das Projekt aus der IDE kompilierst?
Lichter
Beiträge: 23
Registriert: 20. Januar 2011 12:48

Beitrag 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.
Antworten