Seite 1 von 1

[gelöst] Slot wird nicht erkannt

Verfasst: 14. Februar 2015 15:09
von qtNiko
hi,

wie so oft war es ein eigener Fehler: im Headerfile war move_display(int new_pos) nicht unter "private slots:", sondern bei den anderen Funktionen untergebracht :?

--------------
meine Applikation erzeugt über einen PushButton ein neues GUI-Objekt, Dialog_graph.
Die Klasse dazu heißt Ui_Dialog_graph_gui und enthält eine QScrollBar, deren Aktionen ich selber programmiere.
So soll mit dem Signal valueChanged(int) der QScrollBar ein Teil einer Grafik gezeichnet werden.

Im Constructor ist daher das Statement enhalten

Code: Alles auswählen

connect(uidg.hScrollBar, SIGNAL(valueChanged ( int)), this, SLOT(move_display(int)));
Im Code wird der Slot definiert:

Code: Alles auswählen

void Dialog_graph::move_display(int new_pos) {
...
}
Im Headerfile ist der Prototyp definiert.

Dennoch erhalte ich bei der Ausführung des Programms die Fehlermeldung
Object::connect: No such slot Dialog_graph::move_display(int) in dialog_graph.cpp:36
Ich verstehe nicht, warum der Slot move_display(int) nicht bekannt sein soll.
Die Funktion connect() verwende ich an anderer Stelle oft, und dort funktioniert es. Allerdings habe ich connect() bisher immer nur im Hauptfenster verwendet.
Kann es sein, dass dies in einem Dialog-Objekt nicht möglich ist?